ios AFN头像上传遇到的坑

最近在弄头像上传,而后遇到了一些坑,费了很多心思,花了很多冤枉的功夫,其中最重要的是与后台的交互,

在网上一搜索AFN上传图片,一大堆:app

`NSMutableDictionary *params = [NSMutableDictionary dictionary]; params[@"image"] = newImageData; params[@"fileName"] = fileName; params[@"oldFile"] = self.users.photo; params[@"userid"] = @(self.users.ID);post

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];

[SVProgressHUD show];
[SVProgressHUD setDefaultStyle:SVProgressHUDStyleDark];
[manager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
    // 在这个block中设置须要上传的文件
[formData appendPartWithFileData:newImageData name:@"image" fileName:@"test.png" mimeType:@"image/png"];
    
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

   if ([[responseObject objectForKey:@"code"] intValue] != 200) {
       [SVProgressHUD showErrorWithStatus:@"上传头像失败"];
   } else {
      [SVProgressHUD showSuccessWithStatus:@"上传头像成功"];
       !self.selectPhotpCompleteBlock ? : self.selectPhotpCompleteBlock(newImageData);
   }
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
     TbLog(@"%@",[error localizedDescription]);
      [SVProgressHUD showErrorWithStatus:[error localizedDescription]];
}];·

其中·[formData appendPartWithFileData:newImageData name:@"image" fileName:@"test.png" mimeType:@"image/png"];
这一句很是重要,拼接上传图片的post请求的请求头信息,fileName,文件名称,随便写,mineType:标示上传的图片类型,规定的

其中name很重要,很重要,是后台上传的key,这个是后台规定的,要跟后台协商,不一样的后台,可能写图片上传的key,就不同,这个要问后台了,我就是没有跟后台协商,一直搞不定上传图片,最后搞了很久才发现了,这个问题,浪费了很多时间`
相关文章
相关标签/搜索