How to convert a MultipartFile t

2018-01-16  本文已影响0人  凉初透的风

    在使用SpringMVC上传文件的时候,前台传到后台的文件可以是CommonsMultipartFile类型的,也可以是MultipartFile类型,但都无法直接转化为File类型。

    SpringMVC提供了一种方法可以将传过来的文件直接上传到File指定的文件路径下(new File(path)),MultipartFile.transferTo(File),这样就可以直接将前台传过来的文件直接存在服务器指定的路径下。

    通过这种思路,transferTo()的参数需要指定一个File,那意味这需要指定路径,将会在指定的路径下生成文件,那么将这个文件通过new File(path),得到的就是File类型的了。

    在不希望设置路径,也不希望生成文件的情况下可以使用以下两种方法来转换:

public File convert(MultipartFile file){

    File convFile = new File(file.getOriginalFilename());   

    convFile.createNewFile();

    FileOutputStream fos = new FileOutputStream(convFile);

    fos.write(file.getBytes());   

    fos.close();

    return convFile;

}


public File multipartToFile(MultipartFile multipart) throws IllegalStateException, IOException{

    File convFile = new File( multipart.getOriginalFilename());

    multipart.transferTo(convFile);

    return convFile;

}


第二种方式相对于第一种较为简单,也更为较快。

上一篇下一篇

猜你喜欢

热点阅读