java 接收ios文件上传
来源:互联网 发布:梭哈网络用语什么意思 编辑:程序博客网 时间:2024/05/20 23:33
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<FileMeta> files = new LinkedList<FileMeta>(); FileMeta fileMeta = null; /*************************************************** * URL: /rest/controller/upload upload(): receives files * * @param request * : MultipartHttpServletRequest auto passed * @param response * : HttpServletResponse auto passed * @return LinkedList<FileMeta> 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"; // 定义图片流 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 添加
<!-- 这个用于上传文件工具操作 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency>
spring-config.xml 添加bean
<!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件 中也不必引入上传组件包 --> <bean id="multipartResolver " class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean>
参考博客:http://blog.csdn.net/hf709363456/article/details/53665892;
0 0
- java 接收ios文件上传
- FileReference 上传文件,java接收
- js上传文件 java后台接收文件
- js上传文件 java后台接收文件
- java httpclient 上传文件 服务器 servlet 接收
- Java服务器接收上传的文件
- java使用fileupload接收上传文件
- java接收IOS上传的图片文件multipart/form-data类型
- c#接收ios上传图片保存后文件损坏
- PHP接收上传文件
- 文件上传服务器接收
- php接收上传文件
- nodeJs 接收上传文件
- 文件上传接收方法
- 接收上传文件
- Java.Web - JSP文件上传,Servlet接收文件
- Java后台服务器接收IOS客户端上传的图片
- HTML5多文件上传,ajax传,Java WebService Spring接收
- 设计数据库时需要考虑的问题
- 浅谈排列组合
- HTML初级应用——简单的页面拼写(1)
- 在 Ubuntu Server 16.04 LTS 上安装 LAMP
- freemarker判断对象是否为空的方法
- java 接收ios文件上传
- 如何提高生产力(四)、兼职为什么很难操作-
- Android HorizontalScrollView左右滑动
- Crashlytics-Android崩溃(crash)统计工具使用教程
- jbpm工作流学习手册
- Python获取邮箱内容并解析
- Android-ContentResolver内容访问者
- Linux信号处理机制
- 油田信息化:通往智慧之路(1.3-智慧油田在全球的实践)