1.上传文件multipart/form-data才可以通过表单提交上传
如果要完成上传功能,必须要开启springmvc的配置功能
!--上传功能bean的id写死id="multipartResolver"
class后面配置就是MultipartResolve手动打开上传适配器
1.文件上传实现步骤
1.配置springmvc文件
<beanid="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--4.4个常用属性--> <propertyname="defaultEncoding"value="UTF-8"></property> <!--上传文件总体大小value后面跟的是字节--> <propertyname="maxUploadSize"value="520520520"></property> <!--上传单个文件的大小--> <propertyname="maxUploadSizePerFile"value="124000000"></property> <!--上传文件的缓存--> <propertyname="maxInMemorySize"value="1024"></property> </bean>
2.//依赖一个jar包commons-fileupload
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.5</version> </dependency>
3.运行代码
@PostMapping("/upload") public String upload( @RequestBody MultipartFile myfile,@RequestBody MultipartFile myfile1) throws IOException { //1.以流的方式接受文件 输入流 InputStream inputStream = myfile.getInputStream(); //2,用流的方式 保存到某一地方 输出流 OutputStream outputStream = new FileOutputStream("D:\\"+myfile.getOriginalFilename()); IOUtils.copy(inputStream,outputStream); //3.关闭流 inputStream.close(); outputStream.close(); return "/hello.jsp"; }
2.让静态资源生效
1.在web.xml
<!--第一种方式让静态资源生效--> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/img/*</url-pattern> </servlet-mapping>
2,在springmvc文件
<!--第二通过mvc命名空间使静态资源生效--> <!--mapping映射地址虚拟路径--> <!--location本地文件夹--> <mvc:resourcesmapping="/image/*"location="/img/"/> <mvc:resourcesmapping="/html/*"location="/html/"/>
3.在springmvc文件
<mvc:default-servlet-handler/> <mvc:annotation-driven/>