我采用的是 kartik-v/yii2-widget-fileinput的文件上傳插件,大家可以去github查看詳細的安裝方法和使用說明.
需求:上傳圖片+可以預覽縮略圖
在這里說說我碰到的問題:限制圖片長寬尺寸.
1,首先想到的是,在models里設置圖片的長寬的限制
%>_<%,不可以,models獲取到的總是預覽的縮略圖的尺寸.......
2,其次利用插件里的長寬的限制
%>_<%,雖然尺寸不合適會有提示,但是依然可以提交提交...........
3,在控制器里對圖片的尺寸進行判斷控制
%>_<%控制器里獲取不了圖片的尺寸,只有一個size..........
3,最終利用了插件的屬性設置,以及事件方法結合起來,才實現了控制尺寸,不知道有沒有更適合的辦法
>長寬設置
'maxImageWidth'=>145, 'minImageWidth' => 134, 'minImageHeight' => 95, 'maxImageHeight' => 105,
>事件控制.
是根據錯誤提示,來判斷尺寸是否合適的
'pluginEvents' => [ 'fileimageloaded' => 'function() { $('#submitbtn').removeAttr("disabled"); $('#submitbtn').removeAttr("title"); $('#submitbtn').removeAttr("data-toggle"); if($('.file-upload-indicator').attr('title') == "上傳錯誤"){ $('#submitbtn').attr("disabled","disabled"); $('#submitbtn').attr("data-toggle","tooltip"); $('#submitbtn').attr("title","請選擇合適尺寸的圖片"); } }', ],
