基於fileinput與以yii的文件上傳
安裝方式:
composer require ttiantianle/upload
使用方法:
- 在配置文件中,添加別名@ttiantianle
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
'@ttiantianle' =>'@vendor/ttiantianle'
],
2.在需要上傳圖片文件的試圖中註冊靜態資源
use ttiantianle\upload\UploadAsset;
UploadAsset::register($this);
- 在需要上傳圖片(文件)的地方,調用方法,例如
單圖:
<?= $form->field($model, 'avatar')->hiddenInput(['maxlength' => true,'id'=>'avatar']) ?>
<?= \ttiantianle\upload\UploadWidgets::uploadFile('avatar',$model->avatar,1)?>
多圖:
<?= $form->field($model, 'image')->hiddenInput(['id' => "image"]) ?>
<?= \ttiantianle\upload\UploadWidgets::uploadFile('image',json_decode($model->image),5) ?>
- 修改上傳圖片的路徑 ttiantianle/upload/src/UploadWidgets.php中的uploadFile方法
$('#$uploadInputId').fileinput({
language: 'zh',
uploadUrl: '?r=file/upload-file&type=$type&path=$path&size=$size',//換成自己的上傳圖片接口,可參照ttiantianle/upload/src/FileController.php
deleteUrl: '?r=file/del-file',
overwriteInitial: false,
allowedFileTypes: [$type],
initialPreviewAsData: true,
initialPreviewShowDelete:true,
maxFileCount:$maxFileCount,
initialPreview:$initialPreview,
initialPreviewConfig:$initialPreviewConfig,
})});