文件的下载 妖狐艹你老母 2022-06-17 05:25 160阅读 0赞 # 超链接下载 # `<a href="${pageContext.request.contextPath}/File/a.txt">文本文件</a>` 如果文件可以直接被浏览器解析,那么会在浏览器中直接打开,不能被浏览器直接解析的,就是下载操作。直接打开的要想下载,右键另存为。 超链接下载,要求下载的资源,必须是可以直接被浏览器直接访问的。(比如我的文件没有放在当前项目下,而是放到了另一个D盘下,浏览器就访问不到我D盘下的文件) 客户端访问服务器静态资源文件时,静态资源文件是通过缺省Servlet返回的,在Tomcat配置文件conf/web.xml中的org.apache.catalina.servlets.DefaultServelt操作的 # 在服务器端编程完成下载 # 新建一个jsp,填写代码 <body> <a href='${pageContext.request.contextPath}/download?filename=a.txt'>txt文件</a> <a href='${pageContext.request.contextPath}/download?filename=a.jpg'>jpg文件</a> <a href='${pageContext.request.contextPath}/download?filename=a.mp3'>mp3文件</a> </body> 新建一个Servlet,download.java public class download extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String filename=request.getParameter("filename"); File file=new File("d:/"+filename); if (file.exists()) { FileInputStream fis=new FileInputStream(file);//读取要下载文件的内容 OutputStream os=response.getOutputStream();//将要下载的文件内容通过输出流写回到浏览器 int len=0; byte[] b=new byte[1024*1024]; while((len=fis.read(b))!=-1){ os.write(b,0,len); } os.close(); fis.close(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } 这样做之后,浏览器也可以访问不在项目下的文件了。 但还是,如果文件可以直接被浏览器解析,那么会在浏览器中直接打开,不能被浏览器直接解析的,就是下载操作。直接打开的要想下载,右键另存为。 设置一个响应头,设置后的效果,就是无论返回的是否可以被浏览器解析,都是下载。 response.setHeader("content-disposition", "attachment;filename="+filename); 文件名乱码问题 如果文件名为中文,下载的时候文件名会为空。 添加代码 String agent=request.getHeader("user-agent"); if (agent.contains("MSIE")) { //IE filename=URLEncoder.encode(filename,"utf-8"); }else if (agent.contains("Firefox")) { //火狐 filename="=?utf-8?B?"+new BASE64Encoder().encode(filename.getBytes("utf-8"))+"?="; }else{ //其他浏览器 filename=URLEncoder.encode(filename,"utf-8"); }
相关 文件的下载 1、利用html标签直接指向服务器的资源: 工程结构: ![1392562-20190925142121456-227761551.png][] <! 不念不忘少年蓝@/ 2023年08月17日 16:10/ 0 赞/ 83 阅读
相关 【文件下载】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 阅读
还没有评论,来说两句吧...