MultipartFile multiFile = new MultipartFile(); //前端传过来的文件对象
String fileName = ();
String prefix = (("."));
File file = null;
try {
file = (fileName, prefix);
(file);
} catch (Exception e) {
();
} finally {
// 操作完上面的文件 需要删除在根目录下生成的临时文件
File f = new File(());
();
}
以上方法如果涉及跨域很有可能不能使用,建议使用以下方法
//调用
File file = null;
try {
//将MultipartFile转为File
file = multipartFileToFile(multiFile);
} catch (Exception e) {
();
("上传失败,请检查文件格式再次尝试");
(false);
return result;
} finally {
deleteTempFile(file);
}
//工具类
import ;
import ;
import ;
import ;
import ;
/**
* @Auther: QiShuai
* @Date: 2020/4/8 10:58
* @Description:
*/
public class MultipartFileToFile {
/**
* MultipartFile 转 File
*
* @param file
* @throws Exception
*/
public static File multipartFileToFile(MultipartFile file) throws Exception {
File toFile = null;
if (("") || () <= 0) {
file = null;
} else {
InputStream ins = null;
ins = ();
toFile = new File(());
inputStreamToFile(ins, toFile);
();
}
return toFile;
}
//获取流文件
private static void inputStreamToFile(InputStream ins, File file) {
try {
OutputStream os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = (buffer, 0, 8192)) != -1) {
(buffer, 0, bytesRead);
}
();
();
} catch (Exception e) {
();
}
}
/**
* 删除本地临时文件
* @param file
*/
public static void deleteTempFile(File file) {
if (file != null) {
File del = new File(());
();
}
}
}