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

Alamofire框架上传图片是比较冷门的知识。经常性报错,也找不到相关解释,或者其他低版本的写法,令开发者很是头疼。低版本的写法,在5.4.4API已经过期了。不在适用。我只用高版本的软件和最新软件。其他一概不用的。
那么5.4.4版本的Alamofire高版本的图片上传如何去写。我用springBoot后端去接受图片的上传的。swift是最新语法。把传入进来的图片转化成二进制。具体url是否传参,以及成功后是否搞一个回调函数通知调用者。自己完善一下。通过点语法无限去点。跟jq的链式编程有点像。即一个函数调完,接着用点接着调用。先调用upload,再调用uploadProgress进度条,再调用responseJSON请求回来的json信息等。

func test2(im: UIImage){let urlString = "http://localhost:8888/upload1"let httpHeaders = HTTPHeaders([:])let imageData : Data = im.jpegData(compressionQuality: 0.5)!let imageName: Int = 8888Alamofire.AF.upload(multipartFormData: { multiPart inmultiPart.append(imageData, withName: "pic", fileName: "\(imageName).jpg", mimeType: "image/jpg")}, to: urlString, method: .post, headers: httpHeaders).uploadProgress(queue: .main) { progress in}.responseJSON { res indebugPrint(res)}}

日志打印,

[Request]: POST http://localhost:8888/upload1[Headers]:Content-Type: multipart/form-data; boundary=alamofire.boundary.3265ee0914904724[Body]: None
[Response]:[Status Code]: 200[Headers]:Connection: keep-aliveContent-Type: application/jsonDate: Wed, 24 Nov 2021 13:54:51 GMTKeep-Alive: timeout=60Transfer-Encoding: Identity[Body]:{"data":"success"}
[Network Duration]: 0.46186602115631104s
[Serialization Duration]: 0.000663583334244322s
[Result]: success({data = success;
})

java后端

@PostMapping("/upload1")public Object update1(@RequestParam("pic") MultipartFile multipartFile) {try {// 保存图片File file = new File(filePath + multipartFile.getOriginalFilename());multipartFile.transferTo(file);} catch (IOException e) {e.printStackTrace();}Map<String,String> map = new HashMap();map.put("data","success");return map;}

IOS的Alamofire5.4高版本上传图片相关推荐

  1. IOS网络框架的Alamofire5.4高版本网络工具封装

    IOS网络框架的Alamofire5.4高版本网络工具封装 网上一般的封装都是过期的swift写法,或者低版本的Alamofire,照搬照抄只会报错一大堆.令开发者很是头疼.特此公开最新的网络工具封装 ...

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

    AFNetworking 4.x高版本上传图片,后端采用springBoot测试 Pod加入 pod 'AFNetworking', '~> 4.0.1' -(void)sendStatusWi ...

  3. 微软开源 Outlook for iOS 暗黑模式解决方案:支持 iOS 11 及更高版本

    微软于 2019 年 8 月推出了面向 Outlook 的暗黑模式,并于去年初开始对该应用程序展开更广泛的重新设计.在新增的外观和功能中,就包括大家期待已久的暗黑模式.现在,软件巨头已决定将其开源,并 ...

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

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

  5. ios 查找朋友 android,在 iOS 12 或更低版本中设置和使用“查找我的朋友”

    如果您使用的是 iOS 13.iPadOS.macOS Catalina 或更高版本,则"查找"App 已将"查找我的 iPhone"和"查找我的朋友 ...

  6. 如何将高版本服务器系统转为低版本,iOS高版本备份恢复到低版本系统的方法

    一般来说,在更新iOS系统的时候我们都会建议大家先用iTunes对系统进行完整备份.但时不时都会有人偷懒,或者使用手机OTA升级而没有对系统备份,最终导致不满意新系统了,想降级却无备份可以恢复的尴尬局 ...

  7. ios高版本app成功砸壳之kali使用frida-ios-dump砸壳

    前言 从事渗透这个行业,我相信百分之九十的人都是安服仔,安服仔就是要什么都懂一点点但是又不精通,碰到了困难也没办法从底层的原理去解决,但是为了能在这个社会混上一口饭,安服仔永远都是那种最拼命的人,那种 ...

  8. 如何weak link一个framework (高版本兼容低版本)

    苹果有一个例子MailComposer,说的是在高版本的OS中调用新增的功能,并且在低版本的OS中依然能够运行.其中重要的一点就是weak link MessageUI.framework. 如何we ...

  9. 3dmax高版本转低版本插件_Fundebug前端JavaScript插件更新至1.8.0,兼容低版本的Android浏览器...

    兼容低版本Android浏览器,请大家及时更新. Fundebug前端BUG监控服务 Fundebug是专业的程序BUG监控平台,我们JavaScript插件可以提供全方位的BUG监控,可以帮助开发者 ...

最新文章

  1. java基础===点餐系统
  2. nero 8.0刻录系统光盘
  3. Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload
  4. make_ext4fs 失败
  5. studentname在java中怎么_是教师,还是学生?setName法和string赋值法区别在哪里!!!...
  6. mysql基础(DQL语言、DML语言、DDL语言)详解
  7. OpenGL之深入解析纹理的渲染使用
  8. Myeclipse下Maven的配置
  9. HTML文件可通过www进行传输,使用 zssh 进行 Zmodem 文件传输
  10. 第二次作业+105032014037
  11. Django之forms组件使用
  12. idea设置主题路径
  13. 中国制鞋机械行业调研与投资战略报告(2022版)
  14. java.lang.IllegalArgumentException: Can not set xx field xx to jav问题解决
  15. AI面试官来临,教你三招搞定他
  16. Java实现文件搜索
  17. java软件工程师工作业绩_java软件工程师个人简历
  18. 程序员来聊一聊信用卡(三)——信用卡的一些基本分类
  19. 史上最详细的Buffer Overflow学习笔记
  20. 编译原理之--FIRST集、FOLLOW集 和 SELECT集

热门文章

  1. php基础遍历,php 数据遍历
  2. webpack 合并压缩_webpack的运用
  3. centos7下安装低版本mysql_centos7下使用yum安装制定版本mysql
  4. JAVA图片不显示imageicon_怎么没法显示图片图标呢?
  5. python 箱线图_python-matplotlib | 箱线图及解读
  6. 舵机不会玩?看这篇!
  7. 晶振,数字电路的心脏~
  8. 揭秘!2020年4月全国程序员工资统计,新出炉!(包含地区和语言排行)
  9. 最大化_基于最大化互信息的学习目标
  10. 变频器输出功率_工业电气设计|变频器的输出功率该如何选择?