这篇文章主要为大家详细介绍了java接收ios文件上传的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java如何接收ios文件上传的具体代码,供大家参考,具体内容如下
ios Multipart/form-data POST请求java后台spring接口一直出错,搞了两天,终于解决了,积累下来
package com.xx.controller; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.nupaApp.model.FileMeta; @Controller @RequestMapping("/controller") public class File1Controller { LinkedList files = new LinkedList(); FileMeta fileMeta = null; /*************************************************** * URL: /rest/controller/upload upload(): receives files * * @param request * : MultipartHttpServletRequest auto passed * @param response * : HttpServletResponse auto passed * @return LinkedList as json format * @throws IOException * @throws FileUploadException ****************************************************/ @RequestMapping(value = "/upload", method = RequestMethod.POST) @ResponseBody public String upload(HttpServletRequest request, HttpServletResponse response) throws IOException, FileUploadException { boolean isMultipart = ServletFileUpload.isMultipartContent(request);// 判断是否是表单文件类型 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); List items = sfu.parseRequest(request);// 从request得到所有上传域的列表 for (Iterator iter = items.iterator(); iter.hasNext();) { FileItem fileitem = (FileItem) iter.next(); if (!fileitem.isFormField() && fileitem != null) {// 判读不是普通表单域即是file // 操作fileitem文件步骤,可以获取大小、路径 // 定义图片输出路径 String imgPath = "e:" + System.currentTimeMillis() + ".jpg-600"; // 定义图片流 InputStream fin = fileitem.getInputStream(); // 定义图片输出流 FileOutputStream fout = new FileOutputStream(imgPath); // 写文件 byte[] b = new byte[1024]; int length = 0; while ((length = fin.read(b)) > 0) { fout.write(b, 0, length); } // 关闭数据流 fin.close(); fout.close(); } } return "200"; } }
pom.xml 添加
<!-- 这个用于上传文件工具操作 --> commons-fileuploadcommons-fileupload1.3.1 commons-iocommons-io2.4
spring-config.xml 添加bean
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件 中也不必引入上传组件包 --> <!-- 默认编码 --><!-- 文件大小最大值 --><!-- 内存中的最大值 -->
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网。
以来源gao@dai!ma.com搞$代^码网上就是java接收ios文件上传的示例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!