第六讲 Spring MVC实现文件上传
来源:互联网 发布:生化危机6 for mac 编辑:程序博客网 时间:2024/05/21 04:21
一、通过commons-fileupload来实现。导入jar包
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
二、配置Spring MVC的配置文件
<!-- 文件上传配置 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设置编码格式 -->
<property name="defaultEncoding" value="utf-8"></property>
<!-- 设置文件大小 -->
<property name="maxUploadSize" value="10485760000"></property>
<!-- 设置缓冲区大小 -->
<property name="maxInMemorySize" value="40960"></property>
</bean>
三、JSP页面
<form action="upload.do"method="post" enctype="multipart/form-data">
file:<input name="file" type="file" />
<input type="submit" value="上传" />
</form>
四、Controller代码
@RequestMapping(value = "/upload")
public String fileupload(@RequestParam("file") CommonsMultipartFile file, HttpServletRequest request)
throws IOException {
//获取文件名
String fileName = file.getOriginalFilename();
//获取上传文件的路径
//String path = request.getRealPath("/fileupload");
String path = request.getServletContext().getRealPath("/fileupload");
InputStream is = file.getInputStream();
OutputStream os = new FileOutputStream(new File(path, fileName));
int len = 0;
byte[] buffer = new byte[400];
while((len = is.read(buffer)) != -1) {
//每次都是从buffer内存处的0偏移开始写,每次写len字节
os.write(buffer, 0, len);
}
os.close();
is.close();
System.out.println(path);//用来查看文件所在路径
System.out.println(file.getOriginalFilename());
return "/index.jsp";
}
五、批量上传
JSP页面:
<form action="upload.do" method="post" enctype="multipart/form-data">
file1:<input name="files" type="file" /><br>
file2:<input name="files" type="file" /><br>
<input type="submit" value="上传" />
</form>
Controller代码:
@RequestMapping(value = "/upload")
public String fileupload(@RequestParam("files")CommonsMultipartFile[] files, HttpServletRequest request)
throws IOException {
for(CommonsMultipartFile file : files) {
//判断到底是由file==null还是由file.getOriginalFilename()==""引起的单个文件上传出错
System.out.println(file+":"+file.getOriginalFilename());
//解决file.getOriginalFilename()==""会引起单个文件上传出错
if(file.getOriginalFilename() == "") {
continue;
}
//获取文件名
String fileName = file.getOriginalFilename();
//获取上传文件的路径
//String path = request.getRealPath("/fileupload");
String path = request.getServletContext().getRealPath("/fileupload");
InputStream is = file.getInputStream();
OutputStream os = new FileOutputStream(new File(path, fileName));
int len = 0;
byte[] buffer = new byte[400];
while((len = is.read(buffer)) != -1) {
//每次都是从buffer内存处的0偏移开始写,每次写len字节
os.write(buffer, 0, len);
}
os.close();
is.close();
}
阅读全文
0 0
- 第六讲 Spring MVC实现文件上传
- Spring MVC 实现文件上传
- spring MVC实现文件上传
- Spring MVC实现文件上传
- Spring mvc实现文件上传
- Spring mvc 实现文件上传
- Spring MVC实现文件上传
- Spring MVC 实现文件上传与下载
- spring mvc +uploadify2.1 实现文件上传
- Spring Web mvc Maven实现文件上传
- Spring mvc实现上传文件进度条
- spring mvc文件上传实现进度条
- 使用spring-mvc实现文件上传
- Spring Web mvc Maven实现文件上传
- Spring-Mvc框架实现文件上传
- Spring MVC 实现文件上传功能
- spring mvc 实现多文件上传
- spring mvc实现简单上传文件
- 使用PageHelper插件抛错
- JavaString练习2:对字符串中字符进行自然顺序排序
- MERGE
- Java基础
- 利用SQL函数实现几天前、两点之间的距离
- 第六讲 Spring MVC实现文件上传
- 【R语言 数据挖掘】R语言如何做关联规则?
- RX 简介 RxJava中文学习文档
- MongoDB
- Oracle性能优化-读懂执行计划
- java提高篇(二四)-----HashSet
- 简述slice和splice区别
- C语言程序设计(26)
- 神经网络梯度与归一化问题总结+highway network、ResNet的思考