1

我必须通过发送照片字节将图像上传到服务器,并且我正在使用 AFNetworking,
但我不断收到此错误-

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

4

2 回答 2

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");.

于 2013-11-14T00:30:22.650 回答
0

请检查跟随链接以获得最佳和简单的图像上传方式。

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

于 2018-03-12T09:34:27.337 回答