首页 理论教育 Java服务端研发|文件下载的实现方式与性能调优

Java服务端研发|文件下载的实现方式与性能调优

时间:2023-11-22 理论教育 版权反馈
【摘要】:文件下载相对简单,直接在页面给出一个超链接,该链接的href属性设置成下载文件路径,点击超链接浏览器将执行文件下载。图6-15 文件上传成功页面Spring MVC提供了一个ResponseEntity类型,使用它可以很方便地定义返回的HttpHeaders和HttpStatus。图6-16 文件下载页面本节实现了Spring MVC文件的上传和下载功能,实际业务开发时,考虑到性能、访问速度等因素,一般会把文件存放到FastDFS[20]中,或者阿里的OSS[21]服务器上。

Java服务端研发|文件下载的实现方式与性能调优

除了文件上传功能,平时业务下载功能也必不可少。接下来,实现商品图片下载功能。文件下载相对简单,直接在页面给出一个超链接,该链接的href属性设置成下载文件路径,点击超链接浏览器将执行文件下载。

978-7-111-61011-3-Part02-134.jpg

图6-15 文件上传成功页面

Spring MVC提供了一个ResponseEntity类型,使用它可以很方便地定义返回的HttpHeaders和HttpStatus。在FileUploadController中增加下载方法,代码如下:

978-7-111-61011-3-Part02-135.jpg

代码中定义了download方法,此方法接收页面传递的文件名后,使用Apache Commons FileUpload组件的FileUtils读取服务器本地文件,并将其构建成ResponseEntity对象返回客户端下载。

使用ResponseEntity对象,可以很方便地定义返回的HttpHeaders和HttpStatus。上面代码中的MediaType[19],代表的是Internet Media Type,即互联网媒体类型,也叫作MIME类型。在HTTP协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。HttpStatus类型代表的是HTTP协议中的状态。

为了查看效果,修改status.jsp页面,具体如下:(www.xing528.com)

978-7-111-61011-3-Part02-136.jpg

部署服务到Tomcat上,访问路径为:

http://localhost:8080/file/uploadFile

上传图片后运行效果如图6-16所示,当点击图片名称时,会进行图片下载操作。

978-7-111-61011-3-Part02-137.jpg

图6-16 文件下载页面

本节实现了Spring MVC文件的上传和下载功能,实际业务开发时,考虑到性能、访问速度等因素,一般会把文件存放到FastDFS[20](第14章会有介绍)中,或者阿里的OSS[21]服务器上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈