使用 AfNetworking 上传图片 [重复]
Posted
技术标签:
【中文标题】使用 AfNetworking 上传图片 [重复]【英文标题】:Upload Image with AfNetworking [duplicate] 【发布时间】:2016-08-23 11:15:03 【问题描述】:我正在尝试使用 AFNetworking 上传 imageData(从凝胶或相机中选择并在 UIImageview 上设置的图像)。这是我的代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[[manager POST:setUrl parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
[formData appendPartWithFileData:image name:namePara fileName:@"abc.png"mimeType:@"image/png"];
success:^(AFHTTPRequestOperation *operation, id responseObject)
NSLog(@"Success: %@", responseObject);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
NSLog(@"Error: %@", error);
]resume];
我尝试了太多,但我意识到 uploadTaskWithStreamedRequest:request 块不再编译。并且我的 responseObject 不再记录。 我该怎么做?
【问题讨论】:
查看此帖子接受的答案:***.com/questions/19836432/… 【参考方案1】:对于 AFNetworking 2.5 版本:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:@"Your_API" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData)
[formData appendPartWithFileData:img_data name:@"param_name" fileName:@"abc.png"mimeType:@"image/png"];
success:^(AFHTTPRequestOperation *operation, id responseObject)
NSLog(@"Success: %@", responseObject);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
NSLog(@"Error: %@", error);
];
【讨论】:
AFHTTPRequestOperationManager 未声明。如何获得? @ChandraChothani 您使用的是哪个版本的AFNetworking
?
@ChandraChothani 什么是响应或错误?
否。手动使用。并且没有错误或响应我可以显示。bcz 它没有进入构造BodyWithBlock 块。
@iosDeveloper 检查您的网速、图像大小或您的 php 端。【参考方案2】:
你可以这样做,
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[[manager POST:urlStrToUploadMedia parameters:parameter constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData)
[formData appendPartWithFileData:dataToAppend name:mediaName fileName:mediaName mimeType:mimeType];
success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject)
NSLog(@"response object : %@",responseObject);
failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error)
NSLog(@"failure : %@",error.localizedDescription);
]resume];
这里dataToAppend
是Image converted to NSData
,mediaName
是图像的名称(无论你想给出什么),mimeType
是 mimeType,如 image/jpeg
或 image/png
取决于你的图像类型。
【讨论】:
查看我更新的问题。正如你所说,我已经设置了。但仍然没有调用那个块 试试AFHTTPSessionManager
经理。并检查你得到了什么成功或失败?
我先尝试了 AFHTTPSessionManager。但它想要工作。我不知道会发生什么
你遇到了什么错误?我的意思是发生了什么?
什么都不会发生。只需调用该块,并在 20 分钟或更长时间后进入成功块。以上是关于使用 AfNetworking 上传图片 [重复]的主要内容,如果未能解决你的问题,请参考以下文章