Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用多部分上传图像_Ios_Multipart - Fatal编程技术网

Ios 使用多部分上传图像

Ios 使用多部分上传图像,ios,multipart,Ios,Multipart,我正在创建一个应用程序,我必须上传图像使用多部分文件类型,我从画廊得到。谁能告诉我怎么做吗。如何通过该图像传递参数。我找了很多,但没有找到任何解决办法。我的代码如下:- NSURL *baseUrl=[NSURL URLWithString:baseUrlStringForUserRegisterPage]; NSDictionary *parameters=@{@"pic":_imageViewUserSignUpView.image}; AFHTTPSessio

我正在创建一个应用程序,我必须上传图像使用多部分文件类型,我从画廊得到。谁能告诉我怎么做吗。如何通过该图像传递参数。我找了很多,但没有找到任何解决办法。我的代码如下:-

 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包含我的URL。我在这里使用AFP网络

它应该是这样工作的:

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");
}];

谢谢你的回复。但它并没有得到拯救。我这样做了:-voidimagePickerController:UIImagePickerController*picker完成了使用info:NSDictionary*info{{U imageViewUserSignUpView.image=[info objectForKey:UIImagePickerController原始图像];ImageConversionData=UIImageJPEG表示法\U imageViewUserSignUpView.image,0.75;[picker DismissViewControllerInitiated:YES completion:nil];}我正在进一步使用ImageConversionDatanSData。请建议我。