台灣最大程式設計社群網站
線上人數
792
 
會員總數:245466
討論主題:189222
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> 非同步上傳多筆圖片
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
非同步上傳多筆圖片
價值 : 100 QP  點閱數:2316 回應數:10

樓主

町風
初學者
229 209
1936 201
發送站內信


請問如何做到選取多筆圖片上傳時,可以一張張圖上傳,目前用ajaxSubmit,但是會一次submit所有檔案。

像是痞客幫相簿一樣,一筆一筆上傳

本篇文章發表於2013-11-25 17:00
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
你好~
提供參考看看
ajax + multi file upload
Link參考:http://demos.devexpress.com/ASPxFileManagerAndUploadDemos/UploadControl/MultiFileUpload.aspx
另外一點想法參考
1. 確定會單獨上傳1 個檔案後再來改Multi
2. 利用Jquery multi upload (重點)
Link參考:http://hayageek.com/jquery-multiple-file-upload/

如果不是用Jquery可在html上做一個Button,按下後可多選檔案,然後submit form
Link可參考:http://davidwalsh.name/multiple-file-upload

3. 處理上傳存在stream 的檔案時,根據完成度變更進度
制做進度條Link參考:http://www.jb51.net/article/18339.htm

以上
本篇文章回覆於2013-11-25 20:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

町風
檢舉此回應
我看了http://davidwalsh.name/multiple-file-upload程式
他的做法是全部一次上傳檔案,我想要的是上傳時一筆成功後就回傳,下一筆成功再回傳訊息。目的是防止上傳檔案過大造成time out。

本篇文章回覆於2013-12-05 18:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Mark Shu
捐贈 VP 給 Mark Shu 檢舉此回應
可使用SwfUpload https://www.google.com.tw/#q=SwfUpload+
本篇文章回覆於2013-12-08 14:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

町風
檢舉此回應
SwfUpload 要有裝flash才能用說
本篇文章回覆於2015-09-04 17:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
如果真的要分次上傳的話,你只能將圖片上傳的部份用框架或是多個form來處理了。
基本上最好是用框架來處理。這樣會比較不容易因為一個超時了。其它就不能動。

正常來說用SwfUpload 會比較好。因為它會幫你切分檔案一段一段上傳。就不會碰上超時的問題。
不過我想你有說了不要用flash的東西。那就只好自已去切成多個from來上傳處理了。
只要是一個一定是全部一起上傳的。
本篇文章回覆於2015-09-07 09:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
推薦這個套件「jQuery File Upload」
參考網頁:http://blueimp.github.io/jQuery-File-Upload/basic.html

我碰到需要多檔上傳功能時,都是用這個套件
基本上沒有碰到檔案過大上傳逾時的情況
本篇文章回覆於2015-09-07 09:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
@迷路
你給的套件是可多重檔案上傳的沒錯。
不過它還是會有容量的限制跟超時的可能性。

我自已現在也是用這一套。基本上因為只拿來上傳圖片,很少會超過容量,再加上我已經修改設定到200mb跟60秒的超時。
所以一般來說這樣的套件的確對我是夠了。
本篇文章回覆於2015-09-08 11:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

町風
檢舉此回應
jQuery File Upload看起來不錯
好像都是還是一次就post全部檔案,如果能一隻一隻檔案傳就不用擔心檔案太大
本篇文章回覆於2015-09-08 15:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

町風
檢舉此回應
有個方式把圖片先在瀏覽器base64編碼,然後在就可以傳單獨的編碼後的圖了
http://fanli7.net/a/JAVAbiancheng/JAVAzonghe/20130815/411775.html
本篇文章回覆於2015-09-08 15:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
使用base64編碼傳送的方式,並無法完全解決你的問題。
你只是避免了檔案上傳最大容量的問題。但post容量的問題還是存在。
而且轉換成base64不一定會比較小。

再加上這樣的方式其實會吃客戶端的ram。很容易造成瀏覽器崩潰。

一般來說使用base64的方式大多是運用在截取畫面時才會有需要。因為截取畫面後還要產生一個檔案上傳。
但安全性原則無法用程式主動上傳的情況下。才會使用base64的方式來做上傳。(其實就是post內容到php上再結合成圖片檔案)

基本上,改php.ini將限制放大是最好的方式了。要不然就是多重form來處理了。
本篇文章回覆於2015-09-09 11:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.