MultipartFile转换File完整版

来源:互联网 发布:unity3d 获取鼠标位置 编辑:程序博客网 时间:2024/06/15 00:58
public String infornationshow(@RequestParam(value = "file", required = false) MultipartFile file,HttpServletRequest request,HttpServletResponse response) throws IOException{

如上面代码所示,后台获取到的是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方法就可以了

原创粉丝点击