求SpringMVC大文件上传详解及实例代码

求SpringMVC大文件上传详解及实例代码... 求SpringMVC大文件上传详解及实例代码 展开
 我来答
专治八阿哥的孟老师
2020-03-21 · 爱生活,爱编程,专心于学习技术和撸猫
专治八阿哥的孟老师
采纳数:494 获赞数:3914

向TA提问 私信TA
展开全部
SpringMVC的文件上传非常简便,首先导入文件上传依赖的jar:
<!-- 文件上传所依赖的jar包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>

在springMVC-servlet.xml配置文件中配置文件解析器:
<!--1*1024*1024即1M resolveLazily属性启用是为了推迟文件解析,以便捕获文件大小异常 -->
<!--文件上传解析器-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1048576"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="resolveLazily" value="true"/>
</bean>
注意解析器的id必须等于multipartResolver,否则上传会出现异常
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;

import java.io.File;

@Controller
public class FileController {
/**
* 上传单个文件操作
* MultipartFile file就是上传的文件
* @return
*/
@RequestMapping(value = "/upload1.html")
public String fileUpload1(@RequestParam("file") MultipartFile file) {
try {
//将上传的文件存在E:/upload/下
FileUtils.copyInputStreamToFile(file.getInputStream(), new File("E:/upload/",
file.getOriginalFilename()));
} catch (Exception e) {
e.printStackTrace();
}
//上传成功返回原来页面
return "/file.jsp";
}}

上传文件时,Controller的方法中参数类型是MultipartFile即可将文件映射到参数上。
页面:
file.jsp:
<form method="post" action="/upload1.html" enctype="multipart/form-data">
<input type="file" name="file"/>
<button type="submit" >提交</button>
</form>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式