File和MultipartFile之间的相互转换
/**
* MultipartFile 转 File
*/
public File multipartFileToFile(MultipartFile file) throws Exception {
File toFile = null;
if(file.equals("")||file.getSize()<=0){
file = null;
}else {
InputStream ins = null;
ins = file.getInputStream();
toFile = new File(file.getOriginalFilename());
inputStreamToFile(ins, toFile);
ins.close();
}
return toFile;
}
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 转 MultipartFile
*/
public MultipartFile getMultipartFile(File file) {
FileItemFactory fileItemFactory = new DiskFileItemFactory();
FileItem item = fileItemFactory.createItem("file", "multipart/form-data",
true, file.getName());
try {
InputStream is = new FileInputStream(file);
OutputStream os = item.getOutputStream();
IoUtil.copy(is, os);
}catch (IOException e){
throw new IllegalCharsetNameException(e.getMessage());
}
MultipartFile multipartFile = new CommonsMultipartFile(item);
return multipartFile;
这只是一种方法而已,还有其他许多,仅供参考