我必须通过发送照片的字节将图像上传到服务器,并且我使用AFNetworking,
但我一直收到这个错误 -
错误:错误域= NSCocoaErrorDomain代码= 3840"操作无法完成。 (可可误差3840。)" (JSON文本不是以数组或对象和选项开头,以允许未设置片段。)UserInfo = 0x10abb7350 {NSDebugDescription = JSON文本不以数组或对象开头,并且选项允许未设置片段。}
答案 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)
请查看关注链接,了解图片上传的最佳方式。