当前位置:网站首页>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
边栏推荐
- Are the microorganisms in the intestines the same as those on the skin?
- FPGA基础篇目录
- Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors
- 网络安全-sqlmap与DVWA爆破
- Brush question 4
- Installing vmtools is gray
- The 19th Zhejiang Provincial Collegiate Programming Contest VP记录+补题
- Coreseek:第二步建索引及測试
- opencv scalar传入三个参数只能显示黑白灰问题解决
- [microservices SCG] gateway integration Sentinel
猜你喜欢

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

ArcGIS:字段赋值_属性表字段计算器(Field Calculator)依据条件为字段赋值

When copying something from the USB flash disk, an error volume error is reported. Please run CHKDSK

Develop those things: go plus c.free to free memory, and what are the reasons for compilation errors?

成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚

PMP项目管理考试过关口诀-1

V20变频器手自动切换(就地远程切换)的具体方法示例

How to operate DTC community?

leetcode-520. 检测大写字母-js

ArcGIS: field assignment_ The attribute table field calculator assigns values to fields based on conditions
随机推荐
网络安全-burpsuit
648. 单词替换
小程序多种开发方式对比-跨端?低代码?原生?还是云开发?
Are the microorganisms in the intestines the same as those on the skin?
网络安全-对操作系统进行信息查询
UE4_UE5蓝图command节点的使用(开启关闭屏幕响应-log-发布全屏显示)
Inftnews | the wide application of NFT technology and its existing problems
Unity3D学习笔记5——创建子Mesh
USB (十八)2022-04-17
What are the similarities and differences between smart communities and smart cities
Dynamics 365 find field filtering
Network security sqlmap and DVWA explosion
Locate to the bottom [easy to understand]
十三、系统优化
Guessing game (read data from file)
网络安全-钓鱼
[untitled] reprint melting ice - track icedid server with a few simple steps
Wechat forum exchange applet system graduation design completion (4) opening report
Lecture 30 linear algebra Lecture 5 eigenvalues and eigenvectors
海内外技术人们“看”音视频技术的未来