图像上传使用AFNetworking,ios

时间:2013-11-14 00:00:20

标签: ios afnetworking-2

我必须通过发送照片的字节将图像上传到服务器,并且我使用AFNetworking,
但我一直收到这个错误 -

  

错误:错误域= NSCocoaErrorDomain代码= 3840"操作无法完成。 (可可误差3840。)" (JSON文本不是以数组或对象和选项开头,以允许未设置片段。)UserInfo = 0x10abb7350 {NSDebugDescription = JSON文本不以数组或对象开头,并且选项允许未设置片段。}

2 个答案:

答案 0 :(得分:3)

如果PHP服务器没有使用application/json回复,那么您必须告诉您的manager接受一般的HTTP响应:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager POST:path parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFileData:imageData name:@"image" fileName:imageFilename mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
    NSLog(@"Success: %@", string);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

如果您的服务器正在使用JSON响应进行响应,那么可能没有正确设置Content-Type标头,例如header("Content-type: application/json");

答案 1 :(得分:0)

请查看关注链接,了解图片上传的最佳方式。

https://stackoverflow.com/a/49231873/5247430