引入jar
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>html代码
<div id="uploadDiv"> <input type="file" value="" id="file" @change="uploadConfig" name="file"> </div> <script type="text/javascript"> new Vue({ el: '#uploadDiv', methods: { uploadConfig: function (e) { var formData = new FormData(); formData.append('file', e.target.files[0]); var url = 'fileUpload'; var config = 'multipart/form-data;'; // axios({ // method:"post", // url:"fileUpload", // data:{ // file:'11' // } // }).then((res)=>{console.log(res.data)}) axios.post(url,formData, config).then(function (response) { console.log(response.data) }) } } }) </script>开始用的注释的方法,但是后台接收总是为null;
java代码
@RequestMapping(value = "/fileUpload",method =RequestMethod.POST ) public String imgUpload(@RequestParam(value = "file",required = false) MultipartFile file) throws IOException { long startTime=System.currentTimeMillis(); System.out.println("fileName:"+file.getOriginalFilename()); String path="E:/"+new Date().getTime()+file.getOriginalFilename(); File newFile=new File(path); //通过CommonsMultipartFile的方法直接写文件(注意这个时候) file.transferTo(newFile); long endTime=System.currentTimeMillis(); System.out.println("采用file.Transto的运行时间:"+String.valueOf(endTime-startTime)+"ms"); return "/success"; }开始用的接收参数为
CommonsMultipartFile报错
org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException: Failed to convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'org.springframework.web.multipart.commons.CommonsMultipartFile'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'org.springframework.web.multipart.commons.CommonsMultipartFile': no matching editors or conversion strategy found]Failed to convert value of type 'org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile' to required type 'org.springframework.web.multipart.commons.CommonsMultipartFile'
修改方式
在application.yml中添加multipart: enabled: true
然后替换 @RequestParam CommonsMultiPartFile 为 @RequestParam MultipartFile file