ssm上传文件
ssm上传文件(上传到本地磁盘)
(1)先要导入所需要的jar包或者pom文件中添加依赖

<!-- 上传 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
(2)在springMVC文件中添加配置
<!-- 定义文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 设定默认编码 --> <property name="defaultEncoding" value="UTF-8"></property> <!-- 设定文件上传的最大值5MB,5*1024*1024 --> <property name="maxUploadSize" value="5242880"></property> </bean>
(3)上传到本地磁盘
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" value="file" name="file">
<input type="submit" value="提交">
</form>
@RequestMapping("/upload")
public String upload(@RequestParam("file")MultipartFile file) throws Exception, IOException {
//获取上传文件的类型
String contentType = file.getContentType();
System.out.println(contentType);
if(contentType.contains("application/x-msdownload")) {
return "fail";
}
//获取原始的文件名
String oldName = file.getOriginalFilename();
System.out.println(oldName);
//获取文件扩展名
String ex = oldName.substring(oldName.lastIndexOf(".")+1);
System.out.println(ex);
//生成新的文件名
String newFile =UUID.randomUUID()+"."+ex;
System.out.println(newFile);
//创建年月日三级目录
String dateFolder="";
if(!file.isEmpty()) {
dateFolder = new SimpleDateFormat("yyyy/MM/dd").format(new Date());
}
//文件保存的路径
String filePath="D:\\upload\\"+dateFolder+"/"+newFile;
//如果没有 自动创建文件夹
File f = new File("D:\\upload\\"+dateFolder);
if(!f.exists()) {
f.mkdirs();
}
//上传 将文件保存到磁盘
file.transferTo(new File(filePath));
return "success";
}
浙公网安备 33010602011771号