我正在嘗試使用Picasa Web Uploader API將照片庫上傳到我的網站。我已經能夠實現該按鈕,在Picasa中設置它並使驗證正常工作,但是當涉及到處理我的站點從Picasa收到的POST時,$_FILES
陣列始終爲空。如何在PHP請求中處理長頭部聲明?
我查看了Picasa使用Fiddler發佈的請求,並且已經能夠確定在每個文件多部分開頭的Content-Disposition
標頭是too long - Picasa發送的標頭包含完整路徑我的服務器上的文件,所以它最終被遠遠超過128個字符:
Content-Disposition: form-data; name="http://localhost:50216/1f6b3b29edc6f9d8898ede07c1b10e27/image/415603f72f75af1a.jpg?size=640"; filename="DSC_0055.JPG"
看來,PHP只能處理頭最多128個字符,並且整個多局部部分如果頭丟棄太長。 (當我縮小Fiddler中這個標題的長度並重新發布請求時,我的網站收到$_FILE
併成功處理它)。
我該如何解決這個問題?
- 我可以在某處設置配置設置以允許PHP處理長頭並接收$ _FILE數組中的數據嗎?
- 或者,除了$ _FILE數組之外,還可以通過其他方式訪問缺少的多部分部分嗎?
不知道這是好還是壞的溶劑,但爲什麼不使用tinyurl之類的東西來縮短這些URL? – yoda 2010-12-10 21:17:18
我同意最好減少該標頭@yoda中url的長度,但不幸的是,我無法控制由Picasa生成的POST請求。 – Dexter 2010-12-11 18:12:41