网站建设界面建议,郴州网站建设服务,廉江网站建设公司,免费网页模板之家目录 引言1.文件的上传2.文件的下载3. JRebel安装使用4. 文件批量上传总结 引言
在开发过程中#xff0c;文件的上传与下载是常见的需求。本篇博客将以CSND为例#xff0c;介绍文件上传与下载的常见方式#xff0c;以及如何通过优化提升性能和用户体验。
1.文件的上传
使… 目录 引言1.文件的上传2.文件的下载3. JRebel安装使用4. 文件批量上传总结 引言
在开发过程中文件的上传与下载是常见的需求。本篇博客将以CSND为例介绍文件上传与下载的常见方式以及如何通过优化提升性能和用户体验。
1.文件的上传
使用表单提交方式
%--Created by IntelliJ IDEA.User: yuanhDate: 2023/9/9Time: 16:38To change this template use File | Settings | File Templates.
--%
% page contentTypetext/html;charsetUTF-8 languagejava %
html
headtitleTitle/title
/head
body
form action/student/upload methodpost enctypemultipart/form-datalabel编号/labelinput typetext namesid readonlyreadonly value${param.sid}/br/label图片/labelinput typefile namephoto/br/input typesubmit value上传图片/
/form
/body
/html文件上传 RequestMapping(/upload)public String upload(Student student,MultipartFile photo){try {// D:\Course\temp\imagesString dir PropertiesUtil.getValue(dir);String server PropertiesUtil.getValue(server);String originalFilename photo.getOriginalFilename();FileUtils.copyInputStreamToFile(photo.getInputStream(),new File(diroriginalFilename));student.setSname(serveroriginalFilename);studentBiz.updateByPrimaryKeySelective(student);} catch (IOException e) {e.printStackTrace();}return redirect:list;}resource.properties 配置
dir D:/Course/temp/images/
server/images/2.文件的下载
常规下载方式 提供直接下载链接用户点击链接即可下载文件。 设置合适的下载文件名和MIME类型。 控制权限只允许有权限的用户下载。异步下载 RequestMapping(value/download)public ResponseEntitybyte[] download(Student student, HttpServletRequest req){try {//先根据文件id查询对应图片信息Student stu this.studentBiz.selectByPrimaryKey(student.getSid());String diskPath PropertiesUtil.getValue(dir);String reqPath PropertiesUtil.getValue(server);String realPath stu.getSname().replace(reqPath,diskPath);String fileName realPath.substring(realPath.lastIndexOf(/)1);//下载关键代码File filenew File(realPath);HttpHeaders headers new HttpHeaders();//http头信息String downloadFileName new String(fileName.getBytes(UTF-8),iso-8859-1);//设置编码headers.setContentDispositionFormData(attachment, downloadFileName);headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);//MediaType:互联网媒介类型 contentType具体请求中的媒体类型信息return new ResponseEntitybyte[](FileUtils.readFileToByteArray(file),headers, HttpStatus.OK);}catch (Exception e){e.printStackTrace();}return null;}3. JRebel安装使用
JRebel是一个Java开发工具可以实时更新Java代码而无需重新启动应用程序。 1.安装JRebel插件 2.打开代理ReverseProxy_windows_amd64.exe顺序不能错 3.启动JRebel测试使用 4.设置jrebel离线
4. 文件批量上传
批量下载图片可以通过以下方式实现 RequestMapping(/uploads)public String uploads(HttpServletRequest req, Student student, MultipartFile[] files){try {StringBuffer sb new StringBuffer();for (MultipartFile cfile : files) {//思路//1) 将上传图片保存到服务器中的指定位置String dir PropertiesUtil.getValue(dir);String server PropertiesUtil.getValue(server);String filename cfile.getOriginalFilename();FileUtils.copyInputStreamToFile(cfile.getInputStream(),new File(dirfilename));sb.append(filename).append(,);}System.out.println(sb.toString());} catch (Exception e) {e.printStackTrace();}return redirect:list;}总结
本篇博客介绍了文件的上传与下载的常见方式并通过优化手段提升性能和用户体验。同时还介绍了JRebel工具的简介以及如何批量下载图片。通过学习和应用这些方法可以更好地满足开发需求并提升开发效率。