1.文件上传业务分析
1)将文件上传到服务器,然后存储到服务器的某个位置.
2)将已上传的文件相关信息存储到数据库.例如文件名,
文件大小,文件摘要信息,文件在服务器上的地址等.
2.SSM架构中文件上传的实现
1)添加文件上传依赖
2)spring-mvc中添加文件上传解析配制
3)设置文件上传表单
a)post请求
b)enctype="multipart/form-data"
例如:
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="title">
<input type="file" name="upfile"/>
<form>
4)Spring controller中数据的接收
在spring中可以借助此MultipartFile类型的对象接收页面表单中上传的数据.
例如:
public JsonResult doUpload(String title,MultipartFile upfile){
.....
}
Spring中文件的下载
1.设置下载时的响应头(必须设置,固定格式)
response.setContentType("appliction/octet-stream");
File fileName=new String(fileName.getBytes("iso-8859-1"),"utf-8");
中文文件名可能有乱码,通过如下语句对文件名编码
String fileName=URLEncoder.encode(a.getFileName(),"utf-8");
response.setHeader("Content-disposition","attachment;filename="+fileName);
2.返回要下载数据,交给浏览器下载
根据文件路径构建一个Path
Path path=Paths.get(a.getFilePath());
读取指定路径下的文件字节
return Files.readAllBytes(path);