如上面代码所示,后台获取到的是MultipartFile类型,那么如何进行转换变成file传到接口中呢?
可以使用如下方法
File f = null; if(file.equals("")||file.getSize()<=0){ file = null; }else{ InputStream ins = file.getInputStream(); f=new File(file.getOriginalFilename()); inputStreamToFile(ins, f); } public static void inputStreamToFile(InputStream ins,File file) { try { OutputStream os = new FileOutputStream(file); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); ins.close(); } catch (Exception e) { e.printStackTrace(); } } 但这种办法会出现一个问题,会在项目目录下自动生成一个临时的file文件,如何将这个文件删除呢? File del = new File(f.toURI()); del.delete();新建一个file,然后获取之前的地址使用file自带的delete方法就可以了