栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MultipartFile 文件对象保存到本地(服务器)文件夹

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MultipartFile 文件对象保存到本地(服务器)文件夹

MultipartFile 文件对象保存到本地(服务器)文件夹

代码思路

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;


// 将文件保存在服务器目录中
// 新生成的文件名称
String uuid = UUID.randomUUID().toString();
// 得到上传文件后缀
String originalName = file.getOriginalFilename();
String ext = "." + FilenameUtils.getExtension(originalName);
// 新生成的文件名称
String fileName = uuid + ext;
// 得到新的文件File对象
File targetFile = new File("D:\sim-file\", fileName);
// 开始复制文件
FileUtils.writeByteArrayToFile(targetFile, file.getBytes());

完整代码

public void saveFileByDirectory (MultipartFile file) {
		try {
			// 将文件保存在服务器目录中
			// 文件名称
			String uuid = UUID.randomUUID().toString();
			// 得到上传文件后缀
			String originalName = file.getOriginalFilename();
			String ext = "." + FilenameUtils.getExtension(originalName);
			// 新生成的文件名称
			String fileName = uuid + ext;
			// 复制文件
			File targetFile = new File("D:\sim-file\", fileName);
			FileUtils.writeByteArrayToFile(targetFile, file.getBytes());
		} catch (IOException e) {
			logger.error("保存文件到服务器(本地)失败",e);
		}
	}

应用场景

可以将生成好的uuid传回前台进行hidden保存,然后再次请求时,通过得到uuid文件名称和已知的(配置好的)文件路径就可以找到上传的文件了。

① 上传Excel时,需要对Excel进行预展示,这个时候就可以把展示的集合list和文件名称传回前台。集合list用来展示;文件名称用来传到后台进行读取文件入库保存。

疑问1:为什么不在前台界面通过集合list循环成json对象,通过post请求后台进行保存?

回答:当excel文件内容比较少时,是可行的,当Excel条数超过了500,1000条时,json对象超过了post最大请求内容长度,请求根本不会进去后台。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/682419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号