之所以要你必須這樣做,是因爲我對params感到困惑。AFnetworking 2.2.0上傳服務器問題上的圖像
據我瞭解,有一種方法如何使用多部分請求來做到這一點。
這種方式爲我們提供了兩個概念,因爲我明白從文件上載可以存儲在Document目錄或使用NSData對象。從文件
上傳:
所以我一直保存到test.jpg放在文檔目錄。然後我讓NSURL實例在多部分請求中使用它。下面的代碼顯示瞭如何創建NSURL實例:
NSString *fileName = @"test.jpg";
NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:fileName];
NSURL *filePath = [NSURL fileURLWithPath:folderPath];
當我打印文件路徑:
file:///Users/mac/Library/Application%20Support/iPhone%20Simulator/7.0.3/Applications/F732FCF6-EAEE-4E81-A88B-76ADB75EDFD1/Documents/test.jpg
然後,我把我的參數和使用FORMDATA附加爲我下面的文件:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
[manager POST:@"http://example.com/resources.json" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:filePath name:@"image" error:nil];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
這是正確的嗎?或者我錯過了某些東西,因爲迴應不成功?
第二個概念 - 直接處理數據:
[formData appendPartWithFileData:imageData name:@"image" fileName:@"test.jpg" mimeType:@"image/jpeg"];
但是,當應用程序調用這行代碼中,我得到了錯誤:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: body'
我假設的imageData定義之外的原因經理塊在這條線上是零。所以我需要幫助,以及如何將它傳遞給塊。
請你糾正我在我的步驟中有什麼問題,也許我錯過了一些東西。
而且當我評論線
[formData appendPartWithFileData:imageData name:@"image" fileName:@"test.jpg" mimeType:@"image/jpeg"];
或
[formData appendPartWithFileURL:filePath name:@"image" error:nil];
然後一切工作正常,我得到了重新運行成功響應。
您的異常由AFNetworking內部的參數斷言觸發。但是,只有一些代碼行很難說明原因。請粘貼堆棧跟蹤。你確定'imageData'不是'nil'嗎?或者文件存在,它不是空的?一個斷點並進入AFNetworking代碼應該很快顯示出問題。 – Sulthan
@Sulthan是的數據是零,但我把它傳入我的方法。但在經理塊imageData是零 –
可以檢查這個問題,請http://stackoverflow.com/questions/33228903/uploading-image-with-afnetworking-with-null-parameter-doesnt-work/33229410?noredirect=1 #comment54313681_33229410 –