文档章节

ios AFN头像上传遇到的坑

tb_engineer
 tb_engineer
发布于 2017/03/06 11:14
字数 330
阅读 132
收藏 0

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

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

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

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,就不一样,这个要问后台了,我就是没有跟后台协商,一直搞不定上传图片,最后搞了好久才发现了,这个问题,浪费了不少时间`

© 著作权归作者所有

tb_engineer
粉丝 8
博文 24
码字总数 6322
作品 0
广州
程序员
私信 提问
iOS源码补完计划--AFNetworking 3.1.0源码研读

参拜一下AFNetworking的源码。 第四篇源码、暂时来看也是iOS方向的最后一篇、撸完准备趁着热乎撸一撸网络协议。 目录 准备工作 功能模块 AFURLSessionManager/AFHTTPSessionManager AFNetwo...

kirito_song
2018/05/25
0
0
极光开发者沙龙 JIGUANG MEETUP——iOS 技术综合实践

活动背景 相信各位 iOSer 已经在 WWDC 结束后亲身体验过相关的技术。今年 WWDC 后,开发者们要适配的工作并不像以前那么繁重,在各大论坛中也可以搜到相关的技术实战分享。但因为每个公司的技...

极光开发者服务
2017/10/24
43
0
EntboostChat 1.4 发布,iOS开源IM,免费即时通讯

恩布互联企业IM iOS 苹果开源手机客户端 EntboostChat 发布 1.4 版本,iOS开源IM,免费企业即时通讯; 主要更新内容: 增加当前用户修改密码功能,修改聊天设置 增加复制、粘贴聊天内容功能,...

akee
2016/02/24
2.5K
8
如果坑请深坑之ionic微信开发

第一个是网上很多网友提出的问题:就是安卓机上微信里面无法播放视频的问题,而ios里面却不存在; 这个就要责怪一下傻逼微信了,微信里面调用的浏览器内核是QQ浏览器X5内核,我们在点击自己的...

武文海
2015/07/22
8K
0
极光开发者沙龙 JIGUANG MEETUP——iOS 技术综合实践

活动背景 相信各位 iOSer 已经在 WWDC 结束后亲身体验过相关的技术。今年 WWDC 后,开发者们要适配的工作并不像以前那么繁重,在各大论坛中也可以搜到相关的技术实战分享。但因为每个公司的技...

极光推送
2017/10/24
15
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue warn]: Computed property "activeNames" was assigned to but it has no setter.

在使用 vue,element-ui时,如下代码 <template> <el-form :model="numberValidateForm" ref="numberValidateForm"> <el-form-item> <el-tabs v-model="activeNames" @tab-cl......

牧云橙
36分钟前
6
0
重构-改善既有代码的设计-6.2内联函数

6.2内联函数 动机 本书经常以简短的函数表现动作意图,这样会使代码更清晰易读。但有时候你会遇到某些函数,其内部代码和函数名称同样清晰易读。也可能你充够了该函数的内部实现,使其内容和...

还仙
37分钟前
7
0
Less 混入

混合类似于编程语言中的函数。 Mixins 是一组CSS属性,允许我们将一个类的属性嵌套于另一个类,被嵌入的类可以看作是变量,并且包含类名作为其属性,也就是说我们可以用一个类定义样式然后把...

凌兮洛
40分钟前
6
0
频繁FGC的真凶原来是它

频繁FGC的真凶原来是它 上周排查了一个线上问题,主要现象是CPU占用过高,jvm old区占用过高,同时频繁fgc,我简单排查了下就草草收场了,但是过后我对这个问题又进行了复查,发现问题没有那...

每天晒白牙
41分钟前
6
0
简单的树形菜单如何写

业务需求 数据结构中含有图片、名称、children的树形结构,需要展示出每一级的图片名称和图片,找了些树形图的插件,都没有展示大的图片的,一般都是小图标,就自己试着写一个包含图的简单的...

tianyawhl
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部