看到 picasaweb 可以使用一個 form 來選擇多個檔案, 這真是很方便的功能, 我想「知道」這是怎麼做的?
首先當然要來一個 html form 可以讓使用者選擇多個檔案。
L18 就是可以一次選取多個檔案的關鍵, 這樣在選取檔案時, 就可以依據 shift, ctrl 來選取多個檔案。
從 wiresharek 可以觀察到多個檔案如何被封裝起來, 123\n, zyx\n, 1q2w\n, 是我上傳的 3 個檔案的內容, 透過
boundary= "------- 1316"
來分割這三個部份, 取出每一段的檔名資訊, 檔案的內容, 依據檔名存檔, 這樣就完成了。說來簡單, 不過程式花了我一番功夫才正確運作。
source code:
https://github.com/descent/cgi_src
ref:
HTTP 檔案上傳機制解析 [精華]
http://stackoverflow.com/questions/3448117/can-perls-cgi-pm-process-firefoxs-input-type-file-multiple-form-fields
http 上傳檔案的容量限制
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。