NO.91 Spring中文件的上传与下载

1.文件上传业务分析

1)将文件上传到服务器,然后存储到服务器的某个位置.

2)将已上传的文件相关信息存储到数据库.例如文件名,

文件大小,文件摘要信息,文件在服务器上的地址等.

2.SSM架构中文件上传的实现

1)添加文件上传依赖

NO.91 Spring中文件的上传与下载_第1张图片

2)spring-mvc中添加文件上传解析配制

NO.91 Spring中文件的上传与下载_第2张图片

3)设置文件上传表单

a)post请求

b)enctype="multipart/form-data"

例如:

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);

你可能感兴趣的:(NO.91 Spring中文件的上传与下载)