我嘗試上傳圖像到php腳本時,使用ASIHTTPRequest庫時出現了一個奇怪的問題。我已經正確實現了ASIHTTPRequest,因爲php腳本從iPhone模擬器接收POST數據,但僅用於測試集中的一些圖像。還有其他圖像不通過POST。ASIHTTPRequest圖像上傳不能用於某些圖像
所有圖像都是從Facebook上檢索出來的,可以是JPG或PNG格式。我已經在兩種類型的圖像上測試了我的代碼,但它應該沒有關係,因爲我在我的iphone應用程序中使用PNGRepresentation方法將圖像轉換爲NSData。我也測試了圖像的大小,這不是問題(範圍從600x600到1200x1200)。
打破ASIHTTPRequest的圖像對我來說似乎並不特別,我無法識別該錯誤。下面是我的一些實施:
iPhone實現:
[RegisterRequest setData:profilePicturePNG withFileName:filename andContentType:@"image/png" forKey:@"profilePicture"];
[RegisterRequest addRequestHeader:@"Content-Type" value:@"image/png"];
[RegisterRequest setDelegate:self];
[RegisterRequest startAsynchronous];
PHP實現:
echo "Upload: " . $_FILES["profilePicture"]["name"] . "<br>";
echo "Type: " . $_FILES["profilePicture"]["type"] . "<br>";
echo "Size: " . ($_FILES["profilePicture"]["size"]/1024) . " kB<br>";
echo "Temp file: " . $_FILES["profilePicture"]["tmp_name"] . "<br>";
在這個測試中,PHP實現應該呼應文件屬性。正如我前面所說,對於大多數圖像,我確實得到了回聲。但是有一些圖像名稱和類型不通過,大小報告爲0kb。
有什麼建議嗎?我將不勝感激!