Re: [問題] 上傳圖片限制圖片尺寸

看板Ajax作者 (Boston's 10th Man.)時間16年前 (2009/11/23 14:18), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串3/3 (看更多)
如果你需要在前端就對圖片尺寸、檔案大小作判斷 可以試著用YUI uploader來處理 http://developer.yahoo.com/yui/uploader/ API documentation http://developer.yahoo.com/yui/docs/YAHOO.widget.Uploader.html 它用的方法是蓋一個flash在input file欄位上 所以當你點下"瀏覽/browse"的時候 他其實是call一支flash 由於AS可以跟JS溝通 你可以拿到你想要的資訊 另外它也把一些可能會用到的event設定好了(ex: uploadStart, uploadError) 基本上是滿方便的 可以幫你解決不少在前端判斷的問題 但前後端都要判斷才是正確的作法 js是做不到這些的 因為存取local檔案安全性已經超出瀏覽器的權限了... ※ 引述《l9girl (angel girl)》之銘言: : 我以前寫的,同時檢查圖片副檔名,圖檔長寬和圖檔大小, : function ClientVI(source, arguments) : { : var re = /\.(jpg|gif|jpeg|bmp)$/; //允許的圖片副檔名 : var objImg = new Image(); : objImg.src = arguments.Value; : if (!re.test(arguments.Value.toLowerCase()) : || objImg.width != 你限的寬 : || objImg.height != 你限的高 : || objImg.fileSize > 你限的大小) : { : arguments.IsValid=false; : //再加一個if是因為我以前在run時怪怪的, : //有時會抓不到長寬大小,就讓它再run自己一次嘍 : if (re.test(arguments.Value.toLowerCase()) : && (objImg.width==0 : || objImg.height==0 : || objImg.fileSize==0)) : ClientVI(source, arguments); : } : else : { : arguments.IsValid=true; : } : } : 然後在ajax元件:CustomValidator : 呼叫就可以了 : (ClientValidationFunction="ClientVI" : ControlToValidate="FileUpload1" : ErrorMessage="圖片格式錯誤" ) : ※ 引述《lanlove (小小程式助理)》之銘言: : : 請教各位大大 : : 小妹我想要做一個功能是 : : 我在上資料的頁面中有一個上傳圖檔的功能, : : 想要在選擇好要上傳時, : : 就能先做篩選提醒使用者圖檔大小不符無法上傳。 : : 但因小妹我還是個程式新鮮人, : : 不是很清楚該怎麼寫, : : 請教各位大大該如何寫才對。 -- ○-. 〔 我的二十歲/四十天美國自助旅行全記錄+球場觀察 睡過車站 機場 還有旅舍交誼廳 八座城市 七場大聯盟球賽 http://adamp3.myweb.hinet.net/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.83.216.112

11/23 19:24, , 1F
要Flash Player 10以上才可以讀取或判斷本地端檔案
11/23 19:24, 1F

11/23 21:22, , 2F
總之不失為一種方法給原po參考啦
11/23 21:22, 2F

11/23 21:47, , 3F
我提醒一下而已 XD 之前也是看到這個,很高興
11/23 21:47, 3F

11/23 21:47, , 4F
Flash也要灌CS4版才能用的樣子
11/23 21:47, 4F

11/23 21:48, , 5F
我是說要自己寫的話..FileReference的新方法
11/23 21:48, 5F
文章代碼(AID): #1B2YalNu (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1B2YalNu (Ajax)