我必须通过发送照片字节将图像上传到服务器,并且我正在使用 AFNetworking,
但我不断收到此错误-
错误:错误域 = NSCocoaErrorDomain 代码 = 3840 “操作无法完成。(可可错误 3840。)”(JSON 文本没有以数组或对象开头,并且允许未设置片段的选项。) UserInfo = 0x10abb7350 {NSDebugDescription = JSON 文本未以数组或对象开头,并且允许未设置片段的选项。}
我必须通过发送照片字节将图像上传到服务器,并且我正在使用 AFNetworking,
但我不断收到此错误-
错误:错误域 = NSCocoaErrorDomain 代码 = 3840 “操作无法完成。(可可错误 3840。)”(JSON 文本没有以数组或对象开头,并且允许未设置片段的选项。) UserInfo = 0x10abb7350 {NSDebugDescription = JSON 文本未以数组或对象开头,并且允许未设置片段的选项。}
如果 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");
.
请检查跟随链接以获得最佳和简单的图像上传方式。