springmvc 文件上传
这里记录下,方便以后复制粘贴。
maven配置
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>
maven将自动引入 commons-fileupload-1.3.3.jar 和 commons-io-2.2.jar
springmvc配置
<!-- 文件上传表单的视图解析器 ,名字不要变--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"></property> <property name="maxUploadSize" value="104857600"></property> <property name="maxInMemorySize" value="40960"></property> </bean>
页面表单
<form method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath}/data/importdata"> <input type="file" name="mobiles"/> <button type="submit">导入</button> </form>
controller层处理,保存文件到本地
public String importData(MultipartFile mobiles) throws IOException { //判断是否有上传文件 if (mobiles.getSize()>0) { //存储到本地的路径 String path = "/app/updata/"; File filepath = new File(path); //目录不存在则创建目录 if (!filepath.exists()) { filepath.mkdirs(); } //路径+随机生成一个不容易重复的文件名+原文件名 String pathandfile = path+IdrandomUtil.getStringRandom(10)+mobiles.getOriginalFilename(); //将上传文件写入本地 mobiles.transferTo(new File(pathandfile)); }else{ return "请选择上传文件"; } return "成功"; }