iOS oc multipart/form-data上传图片
时间: 2023-11-18 14:05:16 浏览: 295
multipartform-data 参数传递
3星 · 编辑精心推荐
iOS中可以使用NSURLSession和AFNetworking等网络请求库来实现multipart/form-data格式上传图片。以下是使用AFNetworking进行multipart/form-data格式上传图片的示例代码:
```objective-c
// 创建AFHTTPSessionManager对象
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 设置请求超时时间
manager.requestSerializer.timeoutInterval = 30;
// 设置响应数据格式为JSON
manager.responseSerializer = [AFJSONResponseSerializer serializer];
// 设置请求数据格式为二进制
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
// 设置请求头
[manager.requestSerializer setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
// 发送POST请求
[manager POST:@"http://example.com/upload" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
// 将图片转换为NSData类型,并添加到formData中
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
[formData appendPartWithFileData:imageData name:@"file" fileName:@"image.jpg" mimeType:@"image/jpeg"];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
// 请求成功后的处理
NSLog(@"上传成功");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
// 请求失败后的处理
NSLog(@"上传失败:%@", error);
}];
```
阅读全文