精华内容
下载资源
问答
  • 监听浏览器文件下载事件的插件
  • NULL 博文链接:https://zhaoshijie.iteye.com/blog/1906506
  • C# asp.net http HttpWebRequest模拟浏览器请求下载文件到本地
  • 模拟浏览器文件下载

    万次阅读 2020-05-16 23:07:08
    模拟浏览器文件下载: 浏览器左上角打开一个新窗口下载文件: http://sysprogs.com/getfile/409/SmarTTY-3.1.msi  

    模拟浏览器文件下载:

       浏览器左上角打开一个新窗口下载文件:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                #dwurl {
                    width: 40%;
                    height: 150px;
                }
            </style>
        </head>
    
        <body>
            <textarea id="dwurl">http://sysprogs.com/getfile/409/SmarTTY-3.1.msi</textarea>
            <br />
            <input type="button" onclick="dwbut();" value="下载" />
        </body>
        <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
        <script type="text/javascript">
            function dwbut() {
                var dwurl = $("#dwurl").val().trim();
                window.open(dwurl, 'newWin', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,draggable=false,width=500,height=150');
            }
        </script>
    
    </html>

     

    展开全文
  • servlet实现浏览器文件下载

    千次阅读 2019-05-13 20:24:46
    servlet实现浏览器文件下载

    servlet实现浏览器文件下载

    download.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <a href="/downloadServlet?filename=01.jpg">点击下载图片</a>
    </body>
    </html>
    

    DownloadServlet.java

    package com.zr.web.servlet;
    
    import com.zr.util.DownLoadUtils;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletOutputStream;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    @WebServlet("/downloadServlet")
    public class DownloadServlet extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            this.doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //1.获取请求参数,文件名称
            String filename=req.getParameter("filename");
            //2.使用字节输入流加载文件到内存
            //2.1找到文件服务器路径
            ServletContext servletContext = this.getServletContext();
            String realPath = servletContext.getRealPath("/img/" + filename);
            //2.1用字节流关联
            FileInputStream fis = new FileInputStream(realPath);
    
            //解决中文名乱码问题
            //获取浏览器请求头
            String userAgent = resp.getHeader("user-agent");
            //使用DownLoadUtils工具类方法,处理编码格式
            filename = DownLoadUtils.getFileName(userAgent, filename);
    
            //3.设置response的响应头
            //3.1设置响应头类型:content-type
            String mimeType = servletContext.getMimeType(filename);
            resp.setHeader("content-type",mimeType);
            //3.2设置响应头打开方式:content-disposition
            resp.setHeader("content-disposition","attachment;filename="+filename);
    
            //4.将输入流的数据写出到输出流中
            ServletOutputStream sos = resp.getOutputStream();
            byte[] bytes=new byte[1024*8];
            int len;
            while ((len=fis.read(bytes))!=-1){
                sos.write(bytes,0,len);
            }
        }
    }
    
    

    DownLoadUtils.java
    工具类

    package com.zr.util;
    
    import sun.misc.BASE64Encoder;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;
    
    /*
        改变文件名编码格式,避免中文乱码
     */
    public class DownLoadUtils {
    
        public static String getFileName(String agent, String filename) throws UnsupportedEncodingException {
            if (agent.contains("MSIE")) {
                // IE浏览器
                filename = URLEncoder.encode(filename, "utf-8");
                filename = filename.replace("+", " ");
            } else if (agent.contains("Firefox")) {
                // 火狐浏览器
                BASE64Encoder base64Encoder = new BASE64Encoder();
                filename = "=?utf-8?B?" + base64Encoder.encode(filename.getBytes("utf-8")) + "?=";
            } else {
                // 其它浏览器
                filename = URLEncoder.encode(filename, "utf-8");
            }
            return filename;
        }
    }
    
    

    01.jpg
    在这里插入图片描述

    展开全文
  • 然后自己修复了原有代码的BUG,已验证各个浏览器文件下载中文没有乱码 /** * 解决各个浏览器文件下载中文乱码问题 * @param filename * @return */ public static String getFileName(HttpServletRequest ...
    忘记从哪篇博文借鉴的了,博主看到的话可以联系我进行转载或者删除。然后自己修复了原有代码的BUG,已验证各个浏览器文件下载中文没有乱码
    /**
     * 解决各个浏览器文件下载中文乱码问题
     * @param filename
     * @return
     */
    public static String getFileName(HttpServletRequest request, String filename) {
        String finalFileName = "";
        try {
            final String userAgent = request.getHeader("USER-AGENT");
            if (StringUtils.contains(userAgent, "Edge")) {
                finalFileName = URLEncoder.encode(filename, "UTF8");
            } else if (StringUtils.contains(userAgent, "MSIE") || StringUtils.contains(userAgent, "Trident")) {
                // IE浏览器
                finalFileName = URLEncoder.encode(filename, "UTF8");
            } else if (StringUtils.contains(userAgent, "Mozilla")) {
                // google,火狐浏览器
                finalFileName = new String(filename.getBytes(), "ISO8859-1");
            } else {
                //其他浏览器
                finalFileName = URLEncoder.encode(filename, "UTF8");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return finalFileName;
    }

     

    展开全文
  • 浏览器下载文件时,有个打开,有个保存,java或者js能通过代码调用么? 怎么操作
  • 手机浏览器和pc浏览器下载文件方法

    千次阅读 2019-12-07 16:27:13
    一:其实pc端和手机端浏览器下载文件是一样的,以流的方式传输,只需要后端设置好response的参数信息即可。上代码。 public void downLoad(HttpServletRequest request, HttpServletResponse response){ try { /...

    一:其实pc端和手机端浏览器下载文件是一样的,以流的方式传输,只需要后端设置好response的参数信息即可。上代码。

    public void downLoad(HttpServletRequest request, HttpServletResponse response){
            try {
                // 设置响应头和客户端保存文件名
                response.setCharacterEncoding("utf-8");
                //设置文件流下载方式
                response.setContentType("application/octet-stream");
                if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) {
                    fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器
                } else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {
                    fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器
                }else if (request.getHeader("User-Agent").toUpperCase().indexOf("CHROME") > 0) {
                    fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌
                }
                response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
                // 读取目标文件,通过response将目标文件写到客户端
                // 读取文件
                String url=path;
                System.out.println(url);
                InputStream in = new FileInputStream(url);
                OutputStream out = response.getOutputStream();
                // 写文件
                int b;
                while ((b = in.read()) != -1) {
                    out.write(b);
                }
                in.close();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    ps:

    首先设置设置响应方式为流:

    response.setContentType("application/octet-stream");

    其次设置不同浏览器的编码格式

    这样在浏览器中请求对应地址即可自动下载文件。

    展开全文
  • 1、下载单个文件 public JsonView downPrintFile(){ //要下载的文件名 从前台传来 String fileNameNeedDown = request.getParameter("fileName"); //这里的路径是要下载文件所在路径 String ...
  • PHP 浏览器下载文件

    千次阅读 2018-05-22 18:08:16
    function export_text() { $xlsName_1 = '123.txt'; //文件名 $xlsName_2 = 'uploads/files/excel/'; //相对路径存放 $xlsName = $xlsName_2 .... if (file_exists($xlsName_2)) { //存在文件清...
  • Java浏览器下载文件

    千次阅读 2018-05-23 10:46:48
    * @param filePath //文件完整路径(包括文件名和扩展名) * @param fileName //下载后看到的文件名 * @return 文件名 */ public static void fileDownload(final HttpServletResponse response, String fileP...
  • 自动生成Excel文件(.xls),并支持从浏览器直接下载文件,使用说明和源码在压缩包中,希望大神们指出不足,互相学习
  • 微信浏览器是屏蔽资源文件下载的,但是微信公众号内如何下载文件呢。只能借助于在其他浏览器打开,也就是跳到其他浏览器进行下载(如图)。 具体的逻辑很简单,就是在需要下载的位置比如:是一个单击事件 &lt;...
  • 浏览器下载文件http头部

    千次阅读 2018-07-25 16:43:53
    网站提供下载服务时经常需要实现一个强制下载功能(即强制弹出下载对话框),并且文件名保持和用户之前上传时相同。 效果如下图:  Content-Disposition 使用 HTTP Header 的 Content-Disposition: attachment ...
  • 前端实现浏览器下载文件

    千次阅读 2018-09-05 15:22:56
    在前端页面,有时候需要通过链接下载文件,一般直接通过a链接就可以,href设置成文件的路径,但是又的文件,如PDF、JPG等浏览器支持的文件,通过a链接会直接打开。为此查找到下面的方法:    在html5中a链接新增...
  • 压缩为zip文件 1. 通过java程序输出文件 /** * 功能:压缩多个文件成一个zip文件 * @param srcfile:源文件列表 * @param zipfile:压缩后的文件 */ public static void zipFiles(File[] srcfile, File zipfile) ...
  • 浏览器文件下载:如果你想在浏览器中实现下载功能--一些原本不默认下载的文件,如:jpg、xml等。 图片显示(流形式):如果你想在浏览器中显示图片,而图片不是一个静态文件(没有url地址) 那我们应该怎么做呢? ...
  • 最近开始学习java浏览器文件下载,使用Springboot maven工程实现,做了比较多的尝试,也遇到了许多问题,在此记录总结一下。由于是本地局域网的测试,所以代码中的文件的源目录都是直接写死的本地目录。 方式一: @...
  • 项目中有用到文件下载功能,之前在处理下载时对IE浏览器下文件下载名进行过处理,但是功能上线后,业务反馈,IE11文件下载,文件名依然乱码。打印User-Agent字符串如下:IE11 User-Agent字符串:Mozilla/5.0 (Windows...
  • asp.net 浏览器文件下载

    千次阅读 2016-03-18 16:54:56
    (当然也可以把这些文件下载下来,具体操作就是下面的介绍) 下载文件1 但是如果是视频等内容,浏览器无法进行解析,这个时候就会提示用户进行下载、保存操作。这个时候最主要的操作时在相应头部添加内容。 下载文件...
  • WEB项目,强制浏览器下载文本文件

    千次阅读 2018-05-15 10:52:13
    1.需求场景浏览器下载服务器上的文本文件,避免浏览器直接打开2.项目环境Spring spring mvc mybatis3.实现方法/** * * TODO 下载文件 * * @param param * */ @ResponseBody @RequestMapping("...
  • php 三种文件下载浏览器的方法

    千次阅读 2019-03-06 11:52:19
    1、直接添加文件链接 <button> <a href = "http://localhost/文件.... 下载文件 </a> </button> 点击该按钮下载: 2、传递参数查找并跳转到下载链接 传递参数: <button> &...
  • 获取浏览器文件下载路径,js或者java都可以,欢迎各位大神帮忙解决问题 1、首先问题场景是导出excel文件 2、我需要获取此文件文件的地址; 3、导出文件的方法是响应头文件的方法。直接下载到本地。
  • java实现文件浏览器

    2009-09-12 15:52:04
    用JAVA语言实现的文件浏览器,类似于资源管理器的功能;
  • JS实现文件下载(适应多种浏览器)

    万次阅读 2017-10-10 16:00:34
    function myBrowser(){ var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; if (isOpera) { return "Opera
  • 前端浏览器下载Excel看这儿XXX 通过io流向本地路径写入文件 File file = new File("D://system10002.sql"); try { if (!file.exists()) { file.createNewFile(); } FileOutputStream output = new ...
  • 浏览器下载文件的两种方式

    千次阅读 2019-12-24 13:43:28
    方法1可以直接调用浏览器下载文件浏览器会直接完成下载,不会确认操作) window.location = url; 方法2通过打开新窗口下载文件(有些浏览器会阻止弹窗,导致无法下载) window.open(url); ...
  • JAVA使用浏览器下载文件接口

    千次阅读 2018-10-16 14:05:00
    前端页面调用后台接口,使用浏览器默认下载的方法。 public ResponseEntity&lt;byte[]&gt; test() throws Exception { String Path = "";//要下载文件路径 File file = new File(Path); ...
  • 上传文件时,文件服务器会给文件重新生成一个一串英文字符的名称,导致前端使用a标签下载这个文件时,文件内容是原来的内容,但是下载的文件名是一串英文字符,很不好的用户体验。而且download也不是太好用 比如:...
  • 浏览器下载一个文件,当点击该文件(原理) 点击查看 web文件上传下载原理浅析 点击查看

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 686,055
精华内容 274,422
关键字:

浏览器文件下载