当前位置:网站首页>Conversion between commonsmultipartfile and file
Conversion between commonsmultipartfile and file
2022-07-07 23:16:00 【codepig16】
One 、 CommonsMultipartFile To File( Curve of national salvation )
Here is the way to save the country with curves : First use CommonsMultipartFile Of getInputStream() Method to get a InputStream Object of type , then InputStream Type into File
// take InputStream Type into File type
private static void inputStreamToFile(InputStream ins, File file) {
// Convert the output stream into a file
FileOutputStream os = null;
try {
os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[1024];
while((bytesRead = ins.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
}catch(Exception e) {
throw new RuntimeException(" call inputStreamToFile Cause abnormal :"+e.getMessage());
}finally {
try {
if(os != null) {
os.close();
}
if(ins != null) {
ins.close();
}
}catch(IOException e) {
throw new RuntimeException("inputStreamToFile close io An exception occurred while :"+e.getMessage());
}
}
}
// Use inputStreamToFile Method
// When creating a file , Add any empty path , Create the file , You can delete it later
File xxFile = new File(" A non repeating path ");
try {
xxFile.createNewFile();
} catch (IOException e) {
// Handling exception information
}
try {
inputStreamToFile(xxCommonsMultipartFile.getInputStream(), xxFile);
} catch (IOException e) {
// Handling exception information
}
//xxFile Is the transformed File file
Two 、File To CommonsMultipartFile
// hold File Turn into CommonsMultipartFile
public FileItem createFileItem(File file, String fieldName) {
//DiskFileItemFactory(): Construct a configured instance of this class
// The first parameter threshold( threshold ): In bytes . Below this threshold item Will be stored in memory , Above this threshold item Will be stored as a file
// The second parameter data repository: The directory where the files will be created . Used to configure when creating file items , The temporary folder used when the file item is greater than the threshold , The system default temporary file path is adopted by default
FileItemFactory factory = new DiskFileItemFactory(16, null);
//fieldName: The name of the form field ; The second parameter ContentType; The third parameter isFormField; The fourth one : file name
FileItem item = factory.createItem(fieldName, "text/plain", true, file.getName());
int bytesRead = 0;
byte[] buffer = new byte[8192];
FileInputStream fis = null;
OutputStream os = null;
try {
fis = new FileInputStream(file);
os = item.getOutputStream();
while((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);// from buffer Get data from and write
}
} catch(IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null) {
os.close();
}
if(fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return item;
}
// Use
FileItem fileItem = createFileItem(xxFile, " Form field name ");
CommonsMultipartFile xxCMF = new CommonsMultipartFile(fileItem);
//xxCMF Is the transformed CommonsMultipartFile file
边栏推荐
猜你喜欢

The wonderful relationship between message queue and express cabinet

Wechat forum exchange applet system graduation design (3) background function

Wechat forum exchange applet system graduation design completion (6) opening defense ppt

UE4_UE5全景相机

微信论坛交流小程序系统毕业设计毕设(7)中期检查报告

微信论坛交流小程序系统毕业设计毕设(3)后台功能

2021ICPC上海 H.Life is a Game Kruskal重构树

Wechat forum exchange applet system graduation design completion (8) graduation design thesis template

iNFTnews | NFT技术的广泛应用及其存在的问题

漏洞复现----49、Apache Airflow 身份验证绕过 (CVE-2020-17526)
随机推荐
iNFTnews | NFT技术的广泛应用及其存在的问题
十四、数据库的导出和导入的两种方法
Installing vmtools is gray
USB(十六)2022-04-28
Txt file virus
JMeter interface automated test read case, execute and write back result
ArcGIS:矢量要素相同字段属性融合的两种方法
About idea cannot find or load the main class
30讲 线性代数 第五讲 特征值与特征向量
网络安全-sqlmap与DVWA爆破
Anta DTC | Anta transformation, building a growth flywheel that is not only FILA
Solution: prompt "unsupported video format" when inserting avi format video into the message
./ setup. Insufficient sh permission
Wechat forum exchange applet system graduation design completion (4) opening report
JS triangle
Bit operation
Network security - install CentOS
One question per day - pat grade B 1002 questions
Byte hexadecimal binary understanding
PMP项目管理考试过关口诀-1