搜尋
首頁php教程PHP开发Yii2 framework學習筆記(八)

jquery-file-upload(http://blueimp.github.io/jQuery-File-Upload/)是一個優秀的檔案ajax上傳插件,支援多選,預覽,並發上傳等。

jquery-file-upload已有現成的yii2外掛程式(https://github.com/2amigos/yii2-file-upload-widget),安裝也使用composer。

在composer.json裡加入"2amigos/yii2-file-upload-widget": "~1.0",再運行composer update

這個外掛只提供了前台顯示的功能(前台的實作也有些缺陷,下文提),並未提供後台處理程式碼,而且連例子都沒有,需要自己摸索。

前台使用範例裡的程式碼,直接複製貼上。

<?php

// with UI

use dosamigos\fileupload\FileUploadUI;
?>
<?= FileUploadUI::widget([
    &#39;model&#39; => $model,
    &#39;attribute&#39; => &#39;image&#39;,
    &#39;url&#39; => [&#39;media/upload&#39;, &#39;id&#39; => $tour_id],
    &#39;gallery&#39; => false,
    &#39;fieldOptions&#39; => [
            &#39;accept&#39; => &#39;image/*&#39;
    ],
    &#39;clientOptions&#39; => [
            &#39;maxFileSize&#39; => 2000000
    ],
    // ...
    &#39;clientEvents&#39; => [
            &#39;fileuploaddone&#39; => &#39;function(e, data) {
                                    console.log(e);
                                    console.log(data);
                                }&#39;,
            &#39;fileuploadfail&#39; => &#39;function(e, data) {
                                    console.log(e);
                                    console.log(data);
                                }&#39;,
    ],
]);
?>

介面如下

Yii2 framework學習筆記(八)

根據裡面的配置,我們需要新建兩個文件,一個ImageUploadModel.php,內麵包含image欄位

class UploadImageForm extends Model {

	public $image;
	
	public function getImage() {
		return $this->image;
	}
	
	public function setImage($newOne) {
		$this->image = $newOne;
	}
}

一個控制器MediaController.php,包括在寫作業傳回的這些內容要根據原始插件的文檔來,yii2插件網站上完全沒有提供相關資訊。

參考網址:https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#using-jquery-file-upload-ui-version-with-a-custom-server-side-upload-handler Yii2 framework學習筆記(八)

還需要提供actionDelete方法,用於刪除





Yii2 framework學習筆記(八)然後做些自訂的功能。在列表項目裡加個textarea用於輸入圖片備註,如圖。


這裡需要修改yii2vendor2amigosyii2-file-upload-widgetsrcviewsupload.php

這個檔案是每個單行的模板,加入一個textareaYii2 framework學習筆記(八)

這個檔案是每個單行的模板,加入一個textarea

多張照片,並發上傳的話,後面收到的都是第一張請求裡的圖片,原本的圖片都沒辦法上傳。 Yii2 framework學習筆記(八)

懷疑是因為fileinput的name都是UploadImageForm[image]引起,但未證實,望知道的告知。


處理方法是停用並發上傳,使用同步上傳方式,如上圖,加入'sequentialUploads' => true的選項

 以上就是Yii2 framework學習筆記(八) 的內容,更多相關內容請關注PHP中文網( www.php.cn)!


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具