使用AFMultipartFormData AFNetworking 3.0上传图像


NSURL *URL = [NSURL URLWithString:@"some APi"];
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
UIImage *myImageObj = [UIImage imageNamed:@"avatar.jpg"];
NSData *imageData= UIImagePNGRepresentation(myImageObj);
[manager POST:URL.absoluteString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFileData:imageData
                                name:@"file"
                            fileName:@"avatar.jpg" mimeType:@"image/jpeg"];
    // etc.
} progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
    NSLog(@"Response: %@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    NSLog(@"Error: %@", error);
}];

我正在尝试使用 afnetworking 3.0 上传图像,但每次都收到此错误

Domain=com.alamofire.error.serialization.response Code=-1011 "Request 失败:内部服务器错误 (500)" UserInfo={com.alamofire.serialization.response.error.response= { URL: Some URL } { status 代码:500,标头 { "访问控制允许来源" = "*"; "内容长度" = 291; "内容类型" = "文本/html"; 日期 ="2017 年 1 月 26 日星期四 11:41:19 GMT"; 服务器 = "Werkzeug/0.11.11 Python/2.7.12";} },

幸运的是邮递员提供了objective-C和其他一些语言代码,但使用AFNetworking我使用了这个

    NSURL *URL = [NSURL URLWithString:@"your URL"];
    UIImage *myImageObj = [UIImage imageNamed:@"image.jpg"];
    NSData *imageData= UIImageJPEGRepresentation(myImageObj, 0.6);
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //manager.responseSerializer=[AFJSONResponseSerializer serializer];
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    manager.responseSerializer = [AFHTTPResponseSerializer serializer];
    [manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
    [manager POST:URL.absoluteString parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:imageData
                                    name:@"file"
                                fileName:@"image.jpg" mimeType:@"image/jpeg"];
        // etc.
    } progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
        NSLog(@"Response: %@", responseObject);
        NSString *string = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"%@",string);
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        NSLog(@"Error: %@", error);
    }];

最新更新