这三种文件类型的中转都是File类型。主要实现MultipartFile转换为FileItem,过程:MultipartFile->File->FileItem。
//MultipartFile类型转为File类型
fileIns = multipartFile.getInputStream();
File multoFile = new File("mulToFilePath");
inputStreamToFile(fileIns,multoFile);
//File类型转为FileItem类型
fileItem = createFileItem(multoFile ,"itemFileName");//FileItem不用指定路径,内存形势存在。
fileIns.close();
/**
* 输入流转File类型
* @param ins
* @param file
*/
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();
}
}
补充:FileItem->File
toFile = new File(file.getOriginalFilename());
fileItem.write(toFile);