文件的下载 不念不忘少年蓝@ 2023-08-17 16:10 83阅读 0赞 1、利用html标签直接指向服务器的资源: 工程结构: ![1392562-20190925142121456-227761551.png][] <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>download</title> </head> <body bgcolor="aqua"> <h1>使用标签直接指向服务器上的资源</h1> <a href="/download_war_exploded/download/wenjian.txt"> wenjian.txt </a><br><br> <a href="/download_war_exploded/download/王强 - 秋天不回来.mp3"> 王强 - 秋天不回来.mp3 </a><br><br> <a href="/download_war_exploded/download/timg.jpg"> 丰收的季节 </a> </body> </html> ![1392562-20190925142047892-453333173.png][] 对于图片、文本等浏览器能够直接解析的文件,在浏览器内可以直接打开: ![1392562-20190925142300965-367035312.png][] 而对于歌曲、视频等浏览器不能解析的文件,需要下载: ![1392562-20190925142415880-1015753208.png][] 实际运用中,需要下载的文件都需要编写文件下载代码。 2、文件的下载: ![1392562-20190926132956134-385266334.png][] (1)html采用超链接的形式,点击后指向对应的Servlet,并设置了文件的名称属性,可以让Servlet知道要下载的是哪个文件: <body bgcolor="aqua"> <h1>文件的下载</h1> <a href="/download_war_exploded/download?filename=wenjian.txt">wenjian.txt </a><br><br> <a href="/download_war_exploded/download?filename=q.mp3"> 王强 - 秋天不回来.mp3</a><br><br> <a href="/download_war_exploded/download?filename=timg.jpg">丰收的季节</a> </body> (2)Servlet: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, IOException { String filename=request.getParameter("filename");//获取html文件中的文件名 response.setContentType(this.getServletContext().getMimeType(filename));//获得要下载的文件的类型(MIME方式) response.setHeader("Content-Disposition","attachment;filename="+filename); //设置响应头,并告诉客户端不要进行解析而是下载 String path=this.getServletContext().getRealPath("download/"+filename); FileInputStream inputStream=new FileInputStream(path);//获取输入的文件路径 ServletOutputStream servletOutputStream=response.getOutputStream();//向客户端输出 byte[] buffer = new byte[1024];//缓冲数组 int len = 0; while ((len =inputStream.read(buffer))>0) { servletOutputStream.write(buffer, 0, len); // 将数组中的指定长度的数据写入到输出流中。 } inputStream.close(); servletOutputStream.close(); } Servlet采用缓冲数组的方式,将服务端的数据输出到客户端,但是要告诉客户端不要解析文件。 (3)Servlet的配置: <servlet> <servlet-name>ServletDownload</servlet-name> <servlet-class>pers.zhb.download.ServletDownload</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDownload</servlet-name> <url-pattern>/download</url-pattern> </servlet-mapping> 3、注意事项: 文件的名字不能带有中文,否则需要对字体的格式进行调整。 转载于:https://www.cnblogs.com/zhai1997/p/11584416.html [1392562-20190925142121456-227761551.png]: /images/20230810/0fdecd02ca914c669b729fb0c983d5db.png [1392562-20190925142047892-453333173.png]: /images/20230810/8d8003ea3fbe40e08ffc5e60ee9b7fef.png [1392562-20190925142300965-367035312.png]: /images/20230810/35fe766260114f2d80b22e8e4effae5a.png [1392562-20190925142415880-1015753208.png]: /images/20230810/09f6daff00f9464bb886bd991247695d.png [1392562-20190926132956134-385266334.png]: /images/20230810/9a65a0adde3a4ba89e8990e13e13bd83.png
相关 文件的下载 1、利用html标签直接指向服务器的资源: 工程结构: ![1392562-20190925142121456-227761551.png][] <! 不念不忘少年蓝@/ 2023年08月17日 16:10/ 0 赞/ 84 阅读
相关 【文件下载】Java下载文件的几种方式 1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse re 灰太狼/ 2023年02月12日 13:28/ 0 赞/ 73 阅读
相关 文件下载 下载图片或者文件有那么几种方法,下面详细总结。 1,js方法 function downloadFile(url){ var elemIF Bertha 。/ 2022年08月06日 15:29/ 0 赞/ 177 阅读
相关 文件下载 对应文件上传的下载 1、javaweb方法实现: public String download(){ try { //获取文件ID ゝ一世哀愁。/ 2022年07月13日 14:08/ 0 赞/ 283 阅读
相关 下载文件 //设置文件MIME类型 response.setContentType(getServletContext().getMimeType(f 浅浅的花香味﹌/ 2022年06月17日 05:44/ 0 赞/ 254 阅读
相关 文件的下载 超链接下载 `<a href="${pageContext.request.contextPath}/File/a.txt">文本文件</a>` 如果文件可以直接被浏览 妖狐艹你老母/ 2022年06月17日 05:25/ 0 赞/ 161 阅读
相关 文件下载 html 标签 点击自动下载 <button> <a href = "http://localhost/day.zip"> 布满荆棘的人生/ 2022年03月18日 13:56/ 0 赞/ 638 阅读
相关 下载文件 import javax.servlet.http.HttpServletResponse; import java.io.BufferedOutputStre 骑猪看日落/ 2022年01月11日 02:57/ 0 赞/ 330 阅读
相关 文件下载 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 川长思鸟来/ 2021年12月15日 00:53/ 0 赞/ 409 阅读
相关 Linux下载——下载文件的命令 Linux下载——获取网络文件的命令 摘抄:本文主要学习了在Linux系统中如何下载文件的命令。 wget命令 wget命令是一个用来下载文件的命令,可以在后台运 红太狼/ 2021年10月26日 15:54/ 0 赞/ 408 阅读
还没有评论,来说两句吧...