CommonsMultipartFile 与 File 之间不能直接进行(强制)转换,但是根据CommonsMultipartFile 的源码可以发现(如下图),可以通过(文件)输入输出流进行间接转换。
实现方法
File shopImgFile = new File(/* 此处可以创建随机的一个文件用来接收转换的文件信息 */);
shopImgFile.createNewFile(); // 创建目录结构
inputStreamToFile(shopImg.getInputStream(), shopImgFile); //shopImg是CommonsMultipartFile类型
//然后就可以使用shopImgFile进行后续操作了
private static void inputStreamToFile(InputStream ins, File file){
FileOutputStream os = null;
os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[1024];
while ((bytesRead = ins.read()) != -1){
os.write(buffer, 0, bytesRead);
}
}