SpringMVC文件上传(文件名不重复)
1)表单项type=“file”
2)表单的提交方式是post
3)表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data”
单文件上传步骤
1)导入fileupload和io坐标
2)配置文件上传解析器
3)编写文件上传代码
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5242800"/>
<!--上传单个文件的大小-->
<property name="maxUploadSizePerFile" value="5242800"/>
<!--上传文件的编码类型-->
<property name="defaultEncoding" value="UTF-8"/>
</bean>>
编写业务层 Controller 上传代码
@RequestMapping(value = "mmm")
@ResponseBody
public String say12(MultipartFile files) throws IOException {
String filen = files.getOriginalFilename();
File file = new File("H:\\"+filen);
int i = 0;
while (file.exists()){
i++;
file = new File("H:\\"+i+filen); //如果文件存在名称相同的则加前缀或者加时间戳
}
file.createNewFile();
InputStream ins = files.getInputStream();
BufferedInputStream bis =new BufferedInputStream(ins);
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
byte[] by =new byte[1024];
int len;
while ((len = bis.read(by)) != -1){
bos.write(by);
}
bos.close();
bis.close();
return "Successupload!";
}
form表单#
<form action="http://localhost:8080/user/mmm" method="post" enctype="multipart/form-data">
<input type="file" name="files">
<input type="submit" value="ssss">
</form>
上传结果#
作者:冰莫莫
出处:https://www.cnblogs.com/icemomo/p/16028515.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
转载请注明出处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了