jquery uploadify
可以限制文件類型,
文件的大小,
但對寬高沒有限制,
項目需要圖片上傳限制圖片寬高度,避免客戶上傳大尺寸,目前我只前端設置判斷寬高度
首先我設置個隱藏的img元素
<img id="testimg" src="__ADMIN.IMG__/noavatar_big.gif" style="display:none">
在uploadify的onUploadSuccess里做這個設置判斷
當圖片上傳成功會返回一個圖片地址,我把隱藏的img元素的地址設置后台返回來地址
然后來判斷這個img的圖片的寬度及高度
onUploadSuccess:function(file,data,response){ if(data){ $('#testimg').attr('src',ThinkPHP['ROOT']+'/'+$.parseJSON(data));
$('#testimg').one('load',function(){ var imgWidth = this.width; var imgHeight = this.height; if(imgWidth > 200 || imgHeight >200){ alert('建議使用200px*200px尺寸圖片') }else{ //這里圖片尺寸小於200px*200px可以開始代碼邏輯 } } }
這僅僅是前段限制圖片尺寸,並不完美,固然這里顯示了圖片尺寸,實際上
圖片還是上傳到服務器上了,否則我也無法根據后台返回來地址,來設置隱藏img元素的圖片地址
並不完美,后期有空在后端來限制圖片的上傳。
還有一種思路我認為比較好,就是前端我也不做圖片尺寸限制,你上傳任何一張圖片,我都把圖片按寬度200px等比縮小處理,
在把縮小的地址返回給前端並顯示!這樣做好像好一點;因為不是所有用戶會ps那樣的工具,去把喜歡的圖片 裁剪成 200px*200px規則圖片
然后在來上傳,給用戶體驗不好,
經過嘗試,后台如果把任何按200px*200px 來縮放 返回前台顯示 圖片效果就不好了
左邊是縮略圖,右邊是截圖
所以我這邊改成 圖片按照500px*500px的來縮
這樣看起來 還可以!根據我這里頁面排版的情況,我最后是按照450px*450px來縮圖,這下用戶上傳在大尺寸的圖片,都可以友好的顯示