SpringMVC文件上传
程序员文章站
2022-06-03 10:29:44
...
导入commoms-fileupload.jar、common-io.jar包
Tomcat创建虚拟目录
tomcat每次更新启动都会清楚tomcat目录下的非配置文件,创建虚拟目录才能够将上传的文件保存下来,以便程序使用。
1、使用编程工具创建
2、在Tomcat目录下的conf目录中的server.xml中配置
配置解析器
在dispatcherServlet-servlet.xml中配置解析器
<!-- 文件解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize">
<value>5242880</value>
</property>
<!-- 设置上传文件最大尺寸5M -->
</bean>
编写controller代码
@Controller
public class UploadController {
@RequestMapping("upload.do")
public ModelAndView upload(MultipartFile file) throws IllegalStateException, IOException {
// 存图片硬盘路径
String path = "D:\\MY\\images";//Tomcat中的虚拟目录的绝对路径
// 新文件名
String newFileName = "";
// 获取文件名
String oldName = file.getOriginalFilename();
if (file != null&&oldName!=null&&oldName.length()>0) {
// 获取文件后缀
String suffix = oldName.substring(oldName.indexOf("."));
// 使用UUID创建新文件名
newFileName = UUID.randomUUID().toString().replaceAll("-", "") + suffix;
// 创建新文件
File newFile = new File(path, newFileName);
// 传输文件
file.transferTo(newFile);
}
ModelAndView mav = new ModelAndView();
mav.addObject("imagePath", "/photo/" + newFileName);// /photo为Tomcat虚拟目录的虚拟路径
mav.setViewName("upload");
return mav;
}
}
编写JSP页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>上传图片</title>
</head>
<body>
<h1>上传图片</h1>
<form action="<%=request.getContextPath() %>/upload.do" method="post" enctype="multipart/form-data">
file:<input type="file" name="file" /><br>
<input type="submit" value="upload" /><br>
</form>
<img src="http://10.25.164.131:8088${imagePath}">
${path }
</body>
</html>
推荐阅读
-
重装MS SQL Server 2000前必须彻底删除原安装文件的方法
-
比较详细的完美解决安装sql2000时出现以前的某个程序安装已在安装计算机上创建挂起的文件操作。 原创
-
mssql server .ldf和.mdf的文件附加数据库的sql语句
-
mssql server 存储过程里,bulk insert table from '路径+文件',路径固定,文件名不固定的实现方法
-
如何在Oracle中导入dmp文件
-
Tika检测文件类型
-
C#计算文件MD5校验的方法
-
C#从文件流读取xml文件到DataSet并显示的方法
-
C#获取指定PDF文件页数的方法
-
C#从文件或标准输入设备读取指定行的方法