AFNetworking 4.x高版本上传图片,后端采用springBoot测试

Pod加入

pod 'AFNetworking', '~> 4.0.1'

-(void)sendStatusWithImage{AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];mgr.requestSerializer= [AFHTTPRequestSerializer serializer];mgr.responseSerializer= [AFHTTPResponseSerializer serializer];[mgr POST:@"http://localhost:8888/upload" parameters:nil headers:nil constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {NSDate *date= [NSDate date];NSDateFormatter *df = [[NSDateFormatter alloc]init];df.dateFormat = @"yyyyMMddHHmmss";NSString *randomFileName = [df stringFromDate:date];NSString *newFileName = [NSString stringWithFormat:@"%@.jpg",randomFileName];UIImage *image  = [self.photosView.images firstObject];NSData *data = UIImageJPEGRepresentation(image, 1.0);NSLog(@"%@",data);//NSData *data1 = UIImagePNGRepresentation(image);压缩png图片的/*1. name:指服务器获取该图片所用的“键”的名字2. fileName:文件在服务器上保存的名字*/[formData appendPartWithFileData:data name:@"pic" fileName:newFileName mimeType:@"image/jpg"];} progress:^(NSProgress * _Nonnull uploadProgress) {NSLog(@"当前进度:%lld / 总进度:%lld",uploadProgress.completedUnitCount,uploadProgress.totalUnitCount);}  success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];hud.mode = MBProgressHUDModeIndeterminate;hud.label.text = @"图片上传成功";hud.margin = 20;hud.hm_y = -150;hud.removeFromSuperViewOnHide = YES;[hud hideAnimated:YES afterDelay:3];} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {NSLog(@"%@",error);MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];hud.mode = MBProgressHUDModeIndeterminate;hud.label.text = @"发送失败";hud.margin = 20;hud.hm_y = -150;hud.removeFromSuperViewOnHide = YES;[hud hideAnimated:YES afterDelay:3];}];}

重点是 mgr.requestSerializer= [AFHTTPRequestSerializer serializer];
mgr.responseSerializer= [AFHTTPResponseSerializer serializer];
否则AFNetworking一直报错
java的springBoot 配置,重点配置thymeleaf
否则会报错,上传的图片也不能太大,否则也会报错,除非properties加入最大的上传图片大小。
thymeleaf pom的依赖

 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

springBoot的启动配置文件

spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
server.port=8888
# 文件路径, 注意路径末尾一定要带上/
user.file.path=/Users/lujun/Desktop/
user.file.name=springboot.jpg

Mac系统没有C盘,D盘,F盘。用/Users代替

@Controller
public class FileUploadController {@Value("${user.file.path}")private String filePath;@Value("${user.file.name}")private String fileName;@GetMapping(value = "/index")public ModelAndView getIndex(){ModelAndView modelAndView = new ModelAndView();modelAndView.setViewName("index");return modelAndView;}@RequestMapping("/upload")public ModelAndView update(@RequestParam("pic") MultipartFile multipartFile) {try {// 保存图片File file = new File(filePath + multipartFile.getOriginalFilename());multipartFile.transferTo(file);} catch (IOException e) {e.printStackTrace();}ModelAndView modelAndView = new ModelAndView();modelAndView.setViewName("index");return modelAndView;}
}

仓库地址
https://gitee.com/johnson__save_admin/picture-upload-spring

AFNetworking 4.x高版本上传图片,后端采用springBoot测试相关推荐

  1. IOS的Alamofire5.4高版本上传图片

    IOS的Alamofire5.4高版本上传图片 Alamofire框架上传图片是比较冷门的知识.经常性报错,也找不到相关解释,或者其他低版本的写法,令开发者很是头疼.低版本的写法,在5.4.4API已 ...

  2. 高版本Android真机逆向测试环境搭建

    高版本Android真机逆向测试环境搭建 618购入了新机Xiaomi K50,真滴便宜又好用,续航很强界面很丝滑.正好拿来做逆向测试机? 怎么可能!这也太奢侈了!不过淘汰的Xiaomi Note 7 ...

  3. Android高版本上传图片出现旋转问题(三星手机,小米8)

    调用Android系统拍照功能后,三星手机(还有小米8,目前发现这两个机型)拍摄后的照片被旋转了90度,横着拍给你变成竖的,竖的拍给你变成横的.其它品牌的手机都是正常的,就三星出现这个怪事. 在And ...

  4. c++排查线程hang住_Kafka学习笔记之kafka高版本Client连接0.9Server引发的血案排查 - 时光飞逝,逝者如斯...

    0x00 概述 kafka server虽然原则上是兼容详细的client,但只是高版本的Server端兼容低版本的Client端: 在有高版本Client端连接时,会导致低版本Server集群会ha ...

  5. 高版本Chrome网页直接播放海康威视大华RTSP流方案,不需服务器转码转流,支持H.265、H.264及2K/4K高清视频

    近期公司在做一个智慧城市项目,需要在高版本Chrome网页播放海康威视.大华.或者华为摄像头RTSP流,于是在网上开始找对应的解决方案,没想到网上各种转码转流方案纷繁复杂,找到一款稳定商用满足需求的很 ...

  6. Android 拍照以及相册中选择(适配高版本)————上传多张照片之压缩处理、在线预览可伸缩放大(二)

    ______ Introduction ______ 前言 上一篇文章刚给大家总结完,关于上传头像的功能.此文章所述 主要是关于上传头像的具体流程以及如何对照片做裁剪处理,回调给控件显示:当然重中之重 ...

  7. fckeditor漏洞_三十,文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御

    一.编辑器漏洞 1.编辑器 编辑器属于第三方软件,它的作用是方便网站管理员上传或编辑网站上的内容,类似我们电脑上的Word文档. 编辑器通常分为两种情况: (1) 不需要后台验证,可以直接在前台访问且 ...

  8. php高版本不再使用mysql_connect()来连接数据库

    想用php生成一个mysql数据字典导出来,用到下面代码会 $mysql_conn = mysql_connect ( "$dbserver", "$dbusername ...

  9. java6 已安装更高版本_Java 10及更高版本的思考

    java6 已安装更高版本 大家好 Java 10于2018年3月20日发布.我认为许多软件团队将阻止升级. 从Java 8到Java 9的专业人员人数可能还更少.为什么会这样,原因是传统的障碍以及对 ...

最新文章

  1. mongodb检查点_mongodb 监控命令mongostat
  2. c语言小学生算法,急求:C语言小学生算法练习软件实现的任务:面向小学生,随机选择两个整数进行加、减、乘、除,要求学生解答。设计内容:1、电...
  3. 关于USB的8个问题
  4. POJ 3280 Cheapest Palindrome(DP 回文变形)
  5. 机器学习相关——SVD分解
  6. Vue + Element UI——搜索框DEMO
  7. NMAP扫描技巧:TCP空闲扫描
  8. 用户模块开发 分类模块 商品模块 购物车模块
  9. 自己常用的Linux命令总结
  10. 7-1 矩阵A乘以B (30 分)
  11. 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
  12. java试题库管理系统源代码_题库聚合源码_有没有人有试题库管理系统的源代码啊基于java web的_淘题吧...
  13. 张国立不敢要片酬,吴京带病上阵拍戏,这个大佬不好惹?!
  14. 使用代理服务器是否安全?
  15. Jenkins基础:API:10:使用API更新进行节点的连接和断开
  16. 诚迈科技发布OpenHarmony发行版鸿诚志远HongZOS
  17. 二级考python还是office_大学生考二级为什么考office比C语言科目会更有价值
  18. ICMP类型报文分类。
  19. js操作数组前面插入,后面插入
  20. JS之FormData对象

热门文章

  1. vivado链接不上开发板最有可能原因
  2. mac运行python速度慢_python-3.x – Pygame简单循环在Mac上运行得非常慢
  3. mysql dba 视频_MySQL DBA入门到高级系列视频教程 [高清完整版]
  4. 变局之际,聊聊物联网的过去、现在和未来
  5. 看漫画,学电子,我居然看懂了!
  6. 10年老兵!从大学毕业生到嵌入式系统工程师的修炼之道……
  7. linux 网络 read,Linux read命令的使用
  8. 软件测试与开发专业就业方向,学习软件测试后就业方向有哪些?
  9. go channel 缓冲区最大限制_一起攻克面试难关:Go 面试每天一篇(第 40 天)
  10. 伪分布式hbase数据迁移汇总