首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MultiPart上传图片

使用MultiPart上传图片
EN

Stack Overflow用户
提问于 2017-03-18 17:36:54
回答 1查看 39关注 0票数 0

我正在创建一个应用程序,我必须使用MultiPart (文件类型)上传图像,这是我从画廊得到的。有人能告诉我怎么做吗?我该如何传递该图像的参数。我找了很多,但没有找到任何解决方案。

我的代码如下:

代码语言:javascript
复制
 NSURL *baseUrl=[NSURL URLWithString:baseUrlStringForUserRegisterPage];    
    NSDictionary *parameters=@{@"pic":_imageViewUserSignUpView.image};  
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];  
    manager.responseSerializer=[AFHTTPResponseSerializer serializer];  

    [manager POST:baseUrlStringForUserRegisterPage parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData)  
     {  
     }  
         progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject)  
     {  
     }  
          failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error)  
     {  
     }];  

baseUrlStringForUserRegisterPage带有我的网址。我在这里使用的是AFNetworking。

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 17:51:35

它应该是这样工作的:

代码语言:javascript
复制
NSURL *baseUrl = [NSURL URLWithString:baseUrlStringForUserRegisterPage];

// use parameters for other parameters than the images - if needed
// NSDictionary *parameters = @{};

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];

// prepare your image(s)
UIImage *imageToUpload = _imageViewUserSignUpView.image;
NSData *imageData = UIImagePNGRepresentation(imageToUpload);
// NSData *imageData = UIImageJPEGRepresentation(imageToUpload, 0.75) // if you want to upload jpeg instead of png

[manager POST:baseUrlStringForUserRegisterPage parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    [formData appendPartWithFileData:imageData name:@"pic" fileName:@"pic.png" mimeType:@"image/png"];
    // [formData appendPartWithFileData:imageData name:@"pic" fileName:@"pic.png" mimeType:@"image/jpeg"]; // if you want to upload jpeg instead of png
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
    NSLog(@"success");
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"failure");
}];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42872699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档