参考文章 bootstrap3 文件上传插件fileinput中文说明文档
http://blog.youkuaiyun.com/lvshaorong/article/details/48730145
由于在网上搜不到相关很全的yii2上传图片组件demo,后来还是到强大的google下面找到了相关组件。
组件地址http://demos.krajee.com/widget-details/fileinput#settings
但是只有前端,后面的上传代码没有具体的示例。所以本人结合该组件写了多图上传功能。
不说废话下面分享干货
后台上传代码
<?php
namespace frontend\controllers;
use common\ToolBox\ToolExtend;
use Yii;
use yii\helpers\FileHelper;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\imagine\Image;
use yii\web\Controller;
use yii\web\UploadedFile;
class UploadController extends Controller
{
public $enableCsrfValidation = false;//禁用Csrf验证
/**
* 上传图片到临时目录
* @return string
* @throws \yii\base\Exception
*/
public function actionImage()
{
if (Yii::$app->request->isPost) {
$res = [];
$initialPreview = [];
$initialPreviewConfig = [];
$images = UploadedFile::getInstancesByName("ImgSelect");
if (count($images) > 0) {
foreach ($images as $key => $image) {
if ($image->size > 2048 * 1024) {
$res = ['error' => '图片最大不可超过2M'];
return json_encode($res);
}
if (!in_array(strtolower($image->extension), array('gif', 'jpg', 'jpeg', 'png'))) {
$res = ['error' => '请上传标准图片文件, 支持gif,jpg,png和jpeg.'];
return json_encode($res);
}
$dir = '/uploads/temp/';
//生成唯一uuid用来保存到服务器上图片名称