yii2文件(图片)上传,url保存到数据表

view视图create.php

<?php
use yii\helpers\Html;
use yii\bootstrap\ActiveForm;

<?php $form = ActiveForm::begin([
    ‘id‘ => ‘upload‘,
    ‘enableAjaxValidation‘ => false,
    ‘options‘ => [‘enctype‘ => ‘multipart/form-data‘]
]);
?>

<?= $form->field($model, ‘thumbnail_url‘)->fileInput(); ?>
<?= Html::submitButton($model->isNewRecord ? ‘Create‘ : ‘Update‘, [‘class‘ => $model->isNewRecord ? ‘btn btn-success‘ : ‘btn btn-primary‘]) ?>
<?php ActiveForm::end(); ?>

控制器方法

    public function actionCreate()
    {
        $model = new 数据表model();
        if ($model->load(Yii::$app->request->post())) {
            $image =  UploadedFile::getInstance($model,‘数据表存储字段‘);
            $ext = $image->getExtension();
            $imageName = time().rand(100,999).‘.‘.$ext;
            $image->saveAs(‘uploads/‘.$imageName);//设置图片的存储位置
            $model->数据表存储字段 = ‘http://www.xxx.cn/uploads/‘.$imageName;//设置图片的url,可以用_SERVER["HTTP_HOST"]+图片名代替
            $model->save();

           $this->render(‘create‘, [
                ‘model‘ => $model,

            ]);
    }

官方权威指南:文件上传,http://www.yiichina.com/doc/guide/2.0/input-file-upload

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 23:45:38

yii2文件(图片)上传,url保存到数据表的相关文章

使用Kindeditor的多文件(图片)上传时出现上传失败的解决办法/使用Flash上传多文件(图片)上传时上传失败的解决办法

近来用户反映希望我们把在线编辑器中的多图片上传功能实现,因为他们在编辑商品描述时经常会有一次上传多张图片的需求,如果要逐张选择的话效率很低,客户的需求就是我们的追求,很快我们就把完善功能排到了日程表中,要求尽快实现. 我们在项目中使用的在线编辑器是Kindeditor4.1.10,它们的多文件上传插件是使用Flash实现的,原本应该就是能使用的,但为什么老是显示上传失败的,百度了一下前人的经验和教训,出现这种情况,有两种可能:1)上传的目标文件夹没有写权限,导致上传的文件无法进行写操作,所以上传

WebUploader文件图片上传插件的使用

最近在项目中用到了百度的文件图片上传插件WebUploader.分享给大家 需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUploader /*图片上传 */ var $ = jQuery, $img=$("#imagePath_img"), // 优化retina, 在retina下这个值是2 ratio = window.devicePixelRatio || 1, // 缩略图大小 thumbnailWid

yii2.0 图片上传(摘录)

文章来源:http://blog.sina.com.cn/s/blog_88a65c1b0101izmn.html 下面小伙就带领大学学习一下 Yii2.0 的图片上传类的使用,还是老样子,如果代码样式混乱,我会附上截图供大家学习. 1.UserController.php 很重要的一步,那就是 use yii\web\UploadedFile; public function actionUpload(){ $model = new User(); user 为用户表model: if ($m

WebApi2 文件图片上传下载

Asp.Net Framework webapi2 文件上传与下载 前端界面采用Ajax的方式执行 一.项目结构 1.App_Start配置了跨域访问,以免请求时候因跨域问题不能提交.具体的跨域配置方式如下,了解的朋友请自行略过. 跨域配置:NewGet安装dll Microsofg.AspNet.Cors 然后在App_Start 文件夹下的WebApiConfig.cs中写入跨域配置代码. 1 public static class WebApiConfig 2 { 3 public sta

[iOS AFNetworking框架实现HTTP请求、多文件图片上传下载]

简单的JSON的HTTP传输就不说了,看一个简单的DEMO吧. 主要明白parameters是所填参数,类型是字典型.我把这部分代码封装起来了,以便多次调用.也许写在一起更清楚点. #pragma mark - JSON方式post提交数据 - (void)postJSONWithUrl:(NSString *)urlStr parameters:(id)parameters success:(void (^)(id responseObject))success fail:(void (^)(

asp.net多图片上传同时保存对每张图片的描述

前台aspx //图片预览和描述 function previewImage(file) { var div = document.getElementById('preview'); div.innerHTML = ""; for (var i = 0; i < file.files.length; i++) { //alert(file.files[i]); var ndiv = document.createElement("div"); ndiv.st

服务器基于PHP CodeIgniter,Android基于Volley实现多文件/图片上传(含服务器,web版和android客户端完整代码)

问题背景:app在上传图片时,同时传递参数,支持传递多个图片.本文中的环境默认已经配好了服务器的CodeIgniter框架.事实上不使用这个框架也是可以的. 一,服务器部分 1,在controllers下的helpers新建文件upload_helper.php <?php /** * Make multifile array input complaint with CI_Upload.<br> * For use files[ ] input name you must use it

ESP8266 使用 SPIFFS 进行文件的上传与保存

首先需要下载包.网址https://github.com/esp8266/arduino-esp8266fs-plugin/releases  我下载的是最新的包. 下载下来之后是个jar包,需要放到arduino根目录的tools文件夹中. 不要放错位置.放错位置的话,你的arduino IDE是无法在工具栏看到这个的,切记.我一开始就是放错了位置,结果找不到 然后呢,你需要在项目里创建一个data文件夹.然后将需要上传到falsh中的文件放到这个目录中.然后点击上面Data Upload就可

【前端】文件各种上传离不开的表单

阅读目录 利用表单实现文件上传 表单异步上传(jquery.form插件) 模拟表单数据上传(FormData) 分片上传 使用HTML5 拖拽.粘贴上传 上传插件(WebUploader) 总结 作为程序员的我们,经常会要用到文件的上传和下载功能.到了需要用的时候,各种查资料.有木有..有木有....为了方便下次使用,这里来做个总结和备忘. 利用表单实现文件上传 最原始.最简单.最粗暴的文件上传.前端代码: //方式1 <form action="/Home/SaveFile1"