首页 > 代码库 > SpringMVC中的文件上传
SpringMVC中的文件上传
SpringMVC中的文件上传
步骤:
1.获取服务器下某个文件的绝对路径
2.1判断此文件夹是否存在不存在则创建文件夹(可以建立多层的mkdirs()方法)
3.判断上传文件的姓名
4.判断是否上传文件
5.获取上传文件的后缀名,例如jpg,docx
6.新建新的上传文件的文件名
7.完成上传
Html处代码(直接上传,不对文件进行判断):
<body>
<h2>文件上传</h2>
<form action="upload01" method="post" enctype="multipart/form-data">
上传者姓名:<input type="text" name="user_name"><br>
文件:<input type="file" name="myfile">
<button>上传</button>
</form>
</body>
Controller中上传部分代码:
@postMapping("/upload01")
public String text(){
//1.获取服务器下某个文件的绝对路径
String path=request.getServletContext().getRealPath("/attr/");
//2.文件夹的建立2.1判断此文件夹是否存在
File folder=new File(path);
if(!folder.exists()){//2.1判断此文件夹是否存在
folder.mkdirs();//2.1不存在则创建文件夹(可以建立多层的mkdirs()方法)
}
//3.判断上传文件的姓名
String filename=myfile.getOriginalFilename();
//4.判断是否上传文件
if(!filename.isEmpty()){
//5.获取上传文件的后缀名,例如jpg,docx
String ext=FilenameUtils.getExtension(filename);
//6.新建新的上传文件的文件名
String newFile=new Date().getTime()+"_"+new Random().nextInt(10000)+"."+ext;
//(上面是时间戳方式)
//String newFile=UUID.randomUUID().toString()+"."+ext
//7.完成上传
myfile.transferTo(new File(path+File.separator+newFile));
}else{
}
return "jsp/result";//跳转到上传文件成功界面
}
SpringMVC中需要的配置信息
<!-- 文件上传的解析器,只有id是固定值 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="http://www.mamicode.com/UTF-8" />
<!-- 编码格式 -->
<property name="maxUploadSize" value="http://www.mamicode.com/20971520" />
<!-- 上传文件大小 -->
<property name="maxInMemorySize" value="http://www.mamicode.com/2048" />
<!-- 上传文件缓存 -->
<property name="resolveLazily" value="http://www.mamicode.com/true" />
<!-- 上传文件延时,提供上传效率 -->
</bean>
---------------end
SpringMVC中的文件上传