Java IOS客户端上传多张图片到服务端
如图在debug模式下,(MultipartHttpServletRequest) request 接收到的参数为multtipartFiles[]的一个数组。
- BufferedInputStream 和 BufferedOutputStream 流的使用
- CommonsMultipartFile类型的文件
- 对文件拓展名的判断
- 对文件在服务器存储URL和文件名的处理,我将上传的 原文件名+订单号生成工具+拓展名(.jpg|.png)
/*** 上传相册* * @param photo* @return*/@RequestMapping(value = Router.User.COMPLETE_ALBUM_INFORMATION, method = RequestMethod.POST)@ResponseBodypublic Response complete_album_information(@RequestParam("userId") int userId,MultipartHttpServletRequest request, HttpServletResponse response) {log.info("用户完善基本资料开始");Response res = this.getReponse();CommonsMultipartFile multipartFile = null;BufferedInputStream is = null; BufferedOutputStream out = null; // 准备好一个输出的对象try {Iterator<String> itr = request.getFileNames();while(itr.hasNext()){String str = itr.next();multipartFile = (CommonsMultipartFile)request.getFile(str);String[] fileExts = {"jpg", "png"};String fileName = multipartFile.getOriginalFilename(); //原文件名String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());if (Arrays.binarySearch(fileExts, fileExt) != -1) {MultipartFile mpf = request.getFile(str);InputStream inputStream = mpf.getInputStream();is = new BufferedInputStream(inputStream);String url = "D:\\programmeTools\\nginx-1.12.1\\photo" + "/" + str + OrderGeneratedUtils.getOrderNo() + "." + fileExt;File newFile = new File(url);if(is != null) {out = new BufferedOutputStream(new FileOutputStream(newFile)); byte[] buffer = new byte[1024]; int len = -1; while ((len = is.read(buffer)) != -1) { out.write(buffer, 0, len); }String name = str + OrderGeneratedUtils.getOrderNo() + "." + fileExt;List<UserAlbum> albumList = userAlbumService.findByUserId(userId);if(albumList.size() < 10) {UserAlbum album = new UserAlbum(userId,name, url, new Date());userAlbumService.save(album);}else {res.failure("图片数量超过上限");}}}else {return res.failure("该文件类型不能够上传");}}return res.success("上传成功");} catch (Exception e) {log.error("errorMsg:--- 用户相册上传失败" + e.getMessage());return res.failure(e.getMessage());}finally {if(is != null) { try { is.close(); }catch (Exception e) { e.printStackTrace(); } } if(out != null) { try { out.close(); }catch (Exception e) { e.printStackTrace(); } } }}
- Github地址:https://github.com/noseparte
- Email: noseparte@aliyun.com 有java与hadoop相关的技术问题,可以发私信与我交流。
- NPM地址: https://www.npmjs.com/~noseparte
- WebSite: http://www.noseparte.com/ Copyright © 2017 noseparte
Java IOS客户端上传多张图片到服务端相关推荐
- nodejs ajax进度条,Ajax异步文件上传与NodeJS express服务端处理的示例分析
Ajax异步文件上传与NodeJS express服务端处理的示例分析 发布时间:2021-07-24 11:17:21 来源:亿速云 阅读:79 作者:小新 这篇文章主要介绍Ajax异步文件上传与N ...
- 使用java向ftp上传多张图片_ftp免费空间,利用ftp工具定时连接ftp免费空间教程及java配置...
IIS7服务器管理工具 这款ftp客户端软件,可以批量管理ftp站点,还可以实现ftp定时上传.定时下载,定时备份.自动更新等功能. 关于ftp客户端功能,它主要实现以下四点功能: 1.ftp 批量操 ...
- iOS连续上传多张图片
参考地址:http://www.cocoachina.com/ios/20180730/24366.html 需求是怎样的:for 循环里面.多个网络请求上传图片,每次上传一张,至于为什么每次只上传一 ...
- Android客户端上传文件,C#服务端接收文件
Android客户端代码 public static String uploadImage(File file, String RequestURL) {String result = "e ...
- 微信小程序头像上传+(C#)服务端接收
第一步:样式设置(WXSS) 说明:.imagesize给view使用,.avatar给image使用.作用是把图片显示为圆形. .imagesize{display:flex; justify-co ...
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(四. iOS端代码实现)...
一.安装XAMPP http://www.cnblogs.com/lidongxu/p/5256330.html 二. 配置MySql http://www.cnblogs.com/lidong ...
- java 大文件上传 断点续传(Socket、IO流)
java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1.服:利用ServerSocket搭建服务器,开启相应端口,进行长连接 ...
- ajax请求多张图片数据库,ajax上传多文件,一次上传多张图片
ajax上传多文件,一次上传多张图片 作者:PHPYuan 时间:2018-11-04 03:41:44 使用ajax上传文件,指望这个对象:let fd = new FormData(); html ...
- linux搭建ftps(vsftpd),java代码测试上传下载
一.服务器安装 操作系统Ubuntu:sudo apt-get install vsftpd操作系统Centos:sudo yum install -y vsftpd##创建ftps用户,设置默认目录 ...
最新文章
- c语言程序设计第二版第五章课后答案甘勇,郑州工程技术学院副院长甘勇来校讲学和指导工作...
- SQL Server索引设计 第五篇
- 初探swift语言的学习笔记五(线程)
- vim normal 模式下L键
- 【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列
- SpringMVC介绍之约定优于配置
- java json.tostring,idea以JSON形式重写toString()方法
- leetcode解题报告:Interleaving String
- android 边框重叠,android - Android:recyclerview中的viewitems轮廓与recyclerview边框重叠 - 堆栈内存溢出...
- PxCook 高效智能的研发设计工具。点击设计稿即可生成前端代码的智能标注切图软件
- mysql查询出现ambiguous的问题
- android手机电话铃声设置,安卓怎么设置铃声 安卓手机铃声设置教程
- Thinkphp 5.0实战 仿百度糯米开发多商家电商平台
- c#计算标准偏差实现跟excel中一样的STDEVP()
- Dubbo监控中心Dubbo-admin安装
- Linux配置SVN 服务端
- 图像识别自动化android,Android自动化测试
- 《人性的弱点》卡耐基
- 一阶电路误差分析_RC有源低通滤波器的一阶二阶原理分析及其推导!
- 不忘初心,做一行爱一行