怎么在java中接收ios文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。
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>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。