Re: [請益] 批次上傳 API

作者: tkdmaf (皮皮快跑)   2015-04-12 11:52:41
※ 引述《OpenGoodHate (什麼東西什麼東西)》之銘言:
: 如題
: 目前用PHP 在撰寫API
: 想給行動平台(Android / iOS)批次上傳表單(含照片的表單)
: 如果純表單的話當然就是編成JSON 上傳就好
: 可是因為裡面還有夾照片
: 目前想的是把照片先zip 起來,然後表單裡有照片的檔名
: 接著一次用POST 上傳,Server 接收完之後再unzip把照片放到資料夾中
: 請問還有沒有其他的寫法呢
: 然後有什麼限制要注意
: 目前想到的就只有檔案太大上傳有可能超時的問題
: set_time_limit(0)的話不知道會不會被client咬死導致一條行程就佔用著不會被放掉
: 然後內存加大如果我上傳的照片超過內存設定量會不會爆炸
: 還是這種情況其實要client 自己寫迴圈來call 就好??
: 不知道要怎麼樣實做會是比較好的選擇
我之前寫過IOS的上傳圖片。
事實上我覺得不用把問題想太複雜。
android/ios都有相對應的http request套件。
你可以當成他就是<form method="post" encrypt="multipart/form-data"></form>
唯一的難點就是你後面說的上傳太大的問題。
關於這一點,如果你打算上傳「原圖」其實問題可能還沒那麼大。
我之前的問題是:上傳的圖,php還要各自轉成h720、h480、h240(h = 高)
轉圖才是真正耗記憶體資源的時候。
那時就發生了ipad mini上傳正常,iphone5s上傳異常的情形。
(前者是500萬畫素,後者是800萬畫素)
總的來說,你可以自己先處理好php的表單上傳模式。
統一一個固定接受的介面。
其他的傳輸全按照那個介面的規定走。
你如果擔心set_time_limit(0)的問題。
那你應該反過來想另外一個問題:
誰會希望你上傳到等待程式完成要卡畫面超過1分鐘……
可能卡個10秒就已經受不了了。
我之前其實是有用ignore_user_abort(true)讓上傳後的縮圖留在背景繼續執行。
不知道各位大德是不是也有其他不錯的方法呢?
作者: a60301 (mingtsay〃小喵)   2015-04-12 14:26:00
弄一個 service 跑轉檔吧
作者: OpenGoodHate (什麼東西什麼東西)   2015-04-13 17:28:00
應該租不起夠力的伺服器…只能先檔著用了
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-13 18:23:00
上次有寫過在前端裁圖resize才上傳 不曉得canvas可不可以藏起來 這樣user就不知道我在前端偷縮圖 XP
作者: mmis1000 (秋月戀楓)   2015-04-13 21:15:00
可以啊,canvas就算不append到dom也能運算阿
作者: MOONRAKER (㊣牛鶴鰻毛人)   2015-04-14 02:09:00
那太好了 :P

Links booklink

Contact Us: admin [ a t ] ucptt.com