" />
举例抛现
实现
文件名中文问题
举例抛现
还是先来个页面吧,里面有2个超链接,一个是图片路径,一个是视频路径
项目
file.html代码
<!DOCTYPE html><html lang="en"><head> <meta chart="UTF-8"> <title>文件下载</title></head><body> <a href="/file/2.jpg">图片补血食谱</a> <a href="/file/aa.mp4">视频</a></body></html>
运行浏览器访问
单击图片显示
单击视频显示
所以是单击图片的时候,能被高级浏览器解析,直接显示,单击视频的时候提示下载,现在想要的效果是无论是图片还是视频,我们多要弹框提示下载
实现
那么我们把file.html页面修改一下,不直接访问文件,而是调到Servlet层
<!DOCTYPE html><html lang="en"><head> <meta chart="UTF-8"> <title>文件下载</title></head><body> <a href="/bServlet/dowmloadFile1?fileName=2.jpg">图片</a> <a href="/bServlet/dowmloadFile1?fileName=aa.mp4">视频</a></body></html>
Servlet层dowmloadFile1的代码
package com.lingaolu.download;import javax.rvlet.*;import javax.rvlet.annotation.WebServlet;import javax.西北大学太白校区rvlet.http.*;import java.io.*;/** * @author 林高禄 * @create 2020-07-14-9:11 */@WebServlet("/dowmloadFile1")public class DowmloadFile1 extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletRespon respon) throws ServletException, IOException { // 获取文件名 String fileName = request.getParameter("fileName"); // 获取文件的MIME类型 ServletContext rvletContext = this.getServletContext(); String mimeType = rvletContext.getMimeType(fileName); // 获取文件的真实路径 String realPath = rvletContext.getRealPath("/file/" + fileName); // 将文件读入内存 FileInputStream fis = new FileInputStream(realPath); // 设置相应头类型 respon.tHeader("content-type",mimeType); respon.tHeader("cont多肉ent-disposition","attachment;filename="+fileName); // 将文件写出浏览器 ServletOutputStream outputStream = respon.getOutputStream(); int len; byte[] by = new byte[1024*8]; while((len = fis.read(by)) != -1){ outputStream.write(by,0,len); } fis.clo(); } @Override protected void doGet(HttpServletRequest request, HttpServletRespon respon) throws ServletException, IOException { 描写季节的词语 this.doPost(request,res广州大学全国排名pon); }}
启动访问,谷歌浏览器访问
单击图片,会下载,因为谷歌浏览器设置自动下载
单击视频,会提示下载,因为我谷歌浏览器设置扩展程序关联迅雷
用IE浏览器访问
无论单击图片还是视频,都会提示下载,因为IE浏览器我没有设置
文件名中文问题
文件下载文件中文名问题
本文地址:https://blog.csdn.net/lgl782519197/article/details/107330080
本文发布于:2023-04-07 12:10:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5535a7121eb32d40fd6f1431f4357964.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:文件下载实例与详解.doc
本文 PDF 下载地址:文件下载实例与详解.pdf
留言与评论(共有 0 条评论) |