jsp:怎么实现点击下载按钮直接下载文件而不是在浏览器中直接打开

点击按钮下载的时候会有一个弹出框,可以选择是打开还是下载,请大神们给出一个代码实例

3个回答

//强制要求为下载,防止有些浏览器调用默认打开程序打开而不下载
response.setContentType("application/force-download");

    //获取文件
    File fileLoad = new File(path);
    //下载时文件显示的名字
    String fileDisplayName = null;

    try {
        if(displayFileName != null && (!"".equals(displayFileName))){
            fileDisplayName = URLEncoder.encode(displayFileName, "UTF-8");
        }else{
            fileDisplayName = fileLoad.getName();
        }
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    //设置下载时的文件名
    response.setHeader("Content-disposition", "attachment;filename="+fileDisplayName);
    //当下载文件名为中文等Unicode字符时,可能导致乱码,此时需要将文件名重新编码为UTF-8
    //采用ISO8859-1编码 
    //response.setHeader("Content-disposition","attachment; filename="+new String(fileLoad.getName().getBytes("iso-8859-1"),"UTF-8"));
    //采用UTF-8编码 
    //response.setHeader("Content-disposition","attachment; filename="+URLEncoder.encode(fileLoad.getName(), "UTF-8"));

    try {
        OutputStream ops = null;
        FileInputStream fis = null;

        long fileLength = fileLoad.length();
        String length = String.valueOf(fileLength);
        response.setHeader("Content_Length", length);

        ops = response.getOutputStream();
        fis = new FileInputStream(fileLoad);
        byte b[] = new byte[2048];
        int i = 0;
        while((i = fis.read(b))!= -1){
        ops.write(b, 0, i);
        }
        ops.flush();
        if(fis != null){
        fis.close();
        fis = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
u014225828
lt-tt 我想知道这个文件应该放在什么目录下呢
大约 4 年之前 回复

想问一下,download.jsp应该放在什么路径下

下载文件

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
让浏览器下载文件,而不是直接打开
[code="java"] 下载 [/code] download.jsp的内容(全部内容): [code="java"] [/code]
怎样点击下载文件而不是直接打开
" target="_blank">下载 点击下载后是浏览器直接打开文件,怎么弄成下载文件
直接让浏览器下载文件而不打开
直接让客户端浏览器下载已知类型(*.doc)的文件  ,而不使用关联程序打开。         Web开发人员都有过这样的疑问,如何让一个文件,尤其是一个已知类型的文件(*.doc),发送到客户端,直接提示让浏览者下载,而不是用与它相关联的程序打开。     以前我们最常用的办法就是把这样的文件加到链接上,这样可以让浏览者通过点击鼠标右键的目标另存为来下载所链接的文件。但是,这样有...
让谷歌浏览器直接下载pdf而不是在浏览器中打开
设置→高级→隐私设置和安全性→内容设置→PDF 文档→下载 PDF 文件,而不是在 Chrome 中自动打开它们
怎么直接下载txt文件,而不是在IE中打开?
rnrn我本意是通过上面的方式直接弹出下载框,但是如果是文本文件,就直接在IE中就打开了rn有什么办法让txt文件不在IE中打开而是弹出下载框呢?rn下载软件和文件另存为除外。rn
怎么样使点击变成下载?而不是直接打开
怎么样使点击变成下载?而不是直接打开
点击a超链接 下载而不是直接打开
核心代码:在a标签里添加 download=""
a标签点击怎么下载图片而不是直接打开
a标签href是链接 直接打开了而不是下载,怎么才能让他下载呢,不用后台可以吗rn[code=javascript]rn rn[/code]rna标签的href是我在上面给填充上的,点击就是打开了这张图片,我想让他点击下载,
怎么实现txt下载,而不是在浏览器中打开啊?
链接到文本文件中,总是在浏览器中打开,怎么实现下载啊,可以选择“打开”,“另存”
download.js 实现浏览器下载 而不是打开
有这么一个需求,在一个h5页面上,有一个video标签,内部是视屏的地址 类似于这样    “http://ip地址/文件夹/文件夹/视屏名称” 我想要再视屏旁边添加一个按钮,点击它会弹出下载的窗口,选择位置后能将视频下载下来 1. 首先是html5的 a标签的 download属性 结果再chrome中表现很好,再firefox中 还是转到视屏地址并播放器来了,,失败 2.后来
从服务器端下载文件,提示“另存为”而不是直接打开
比如我给服务器端的一个文件路径"http://www.test.com/download/abc.txt",当用户单击这个链接的时候,应该提示另存为对话框而不是直接打开文件显示,如何实现?之前试过几次,都直接打开文件显示了。在线等
如何指定IE下载文件,而不是在IE直接打开??
比如说,我想让a.zip下载,于是rn response.redirect "http://server/a.zip"rn这样有时是下载,有时直接在ie打开,一堆乱码。rnrn Response.ContentType 好像可以指定内容类型,但不知除了"text/HTML",rn还有些什么属性???rn
Java中设置附件打开方式
这个其实是在web.xml文件中配置mime文件类型就可以了,配置的示例:    doc  application/msword      xls  application/msexcel      pdf  application/pdf      zip  application/zip      rar  appli
当浏览器 直接打开txt,png等时是直接读取而不是下载时解决方法
当我们把文件上传到项目 后  数据库会存入上传文件路径,在页面上时就会通过location.href='路径'  来直接下载 但是这样下载txt等文件时 浏览器会直接打开 所以换了种方式 ,通过流来进行下载, 而在返回的response必须加上头        this.getResponse().addHeader("Content-Disposition", "attachment
要求点击后直接打开word文档,而不是在浏览器中打开
谢谢
求助:怎么使用户单击某个链接后下载文件而不是直接用浏览器打开
比如说有个html或doc的文件,浏览器通常会直接打开它,该怎么避免呢rn谢谢!
ie控制下载文件直接打开还是下载
这个在服务器端可以做控制的,前提是如果你的文件下载是通过servlet输出流来实现。 //做为附件下载 response.setHeader("Content-Disposition","attachment;filename="+fileName); //直接IE打开 //response.setHeader("Content-Disposition","filename="+fileNam...
关于文件的保存而不是直接打开
在点击了链接之后,rnword,图片,mp3什么的文件直接就打开了rnrar或其他各是的文件会弹出保存的对话框rn还有的文件如.xml就会出现出错页面,rn这样mp3文件直接打开就不好保存了rn我想所有文件点击后都弹除对话框,rnrn请问各位大虾该怎么做呢?
Excel 文件下载而不是ie直接打开
写成下载的形式,如果文件名是.XLS文件,却会在当前页用ie直接打开,请问怎样才可以通过点击下载.XLS文件?不要告诉我用右键选另存为。谢谢 !
IE浏览器下载不了文件或下载文件会直接打开
下载不了文件,以下方法设置 一、 重置IE: 1. 关闭所有Internet Explorer窗口。 2. 单击”WINDOWS R”,在搜索框内输入inetcpl.cpl,按回车。 3. 点击“高级”选项卡,点击重置,勾选删除个性化设置,点击重置。 4. 点击关闭。 二、 运行输入gpedit.msc进入组策略中用户配置-管理模板-Windows组件-Internet Exp...
点击链接弹出"图片另存为"而不是直接打开
Click Me
请问实现鼠标点击后强制下载,而不是在页面中直接打开?
rnrnrn rn 新建网页 1rnrnrnrn 请点击此处下载rnrnrnrn
请问可不可以点击连接时直接下载txt文件?而不是在浏览器打开.
请问可不可以点击连接时直接下载txt文件?而不是在浏览器打开.
apache怎样让.gz格式文件点击直接下载?而不是在浏览器里打开乱码
这个要怎么设置?rnrn貌似我的一台centos系统正常,但是debian系统打开带gz格式的文件全直接在浏览器里显示乱码,我是想让它点击.gz文件直接下载rnrn要在apache里设置?rnrn可是我看了centos和debian的apache配置文件里面关于.gz的配置都一样,没什么区别,如下:rnrn[code=Assembly]rn TypesConfig conf/mime.typesrn AddType application/x-gzip .tgzrn AddEncoding x-compress .Zrn AddEncoding x-gzip .gz .tgzrn AddType application/x-compress .Zrn AddType application/x-gzip .gz .tgzrn AddHandler cgi-script .cgirn AddHandler type-map varrn AddType text/html .shtmlrn AddOutputFilter INCLUDES .shtmlrn AddType video/x-ms-asf .avirn AddType video/mpeg .mpgrn AddType video/mpeg .mpegrn AddType video/quicktime .movrn AddType video/x-ms-wmv .wmvrnrn[/code]
怎么实现直接从数据库中下载文件
文件是以二进制形式存入数据库的,下载时应当如何确定文件名,或者说如何指定不同的文件,现在下载时就以我显示页面的名字作为下载文件名,这显然是不行的,是否由很好的方法?
如何实现在浏览器中直接打开一个文件而不是提示下载或打开?
如何实现在浏览器中直接打开一个文件而不是提示下载或打开,我上传一个Word文件,不能让它下载而是直接在浏览器中打开查看
浏览器中直接打开apk
浏览器中直接打开apk,实现了这个功能,但不清楚有什么实际作用
如何实现当点击一个.xls或者.doc文件直接存盘而不是直接打开!
直接出现“另存为”对话框!谢谢了。
在JSP中,下载文件时,如果直接写文件的链接,浏览器会不会直接打开它呢? 怎么办?
而不是出现下载提示框,比如.doc文件。
点击链接,直接运行,而不是出现下载的提示框?
链接已经指向固定的地址。。。例如word文件/exe文件。。。在网页点击是,能直接打开,要怎么做?
在页面点击连接如何直接打开文件,而不是下载?
rnrnrnrnrn在页面点击连接如何直接打开文件,而不是下载?rnrn点击页面的连接。本页面不关闭,文件直接弹出打开。如何实现????????rnrnrn
javascript中,点击txt文件链接,如何直接保存,而不是在浏览器中打开?
javascript中,点击txt文件链接,如何直接保存,而不是在浏览器中打开?
怎么防止直接下载文件
请问大,我怎么样才能防止怎么防止直接文件下载。假如网站一个会员下载这个文件后把文件地址发给别人,让别人通过这个地址直接下载。怎么样才能防止这样非会员通过地址真接写下载那。asp.net下怎么来写那。听说可以通过httphandler可以写,那位高手能指点一下,谢谢了。给个列子也行。
前端点击链接直接下载文件
初来乍到,刚出来实习,面对的问题特别多,几乎只能靠自己解决,刚碰到的一个问题就是如何在页面上点击下载到本地电脑,这个问题不难。用 a 标签就能实现。直接附上代码。 <a href="C:\Users\Administrator\Desktop/记事本.txt" download = "记事本">点击下载</a> 就是a标签里边的download 属性 ...
jfinal实现点击a标签直接下载文件
点击a标签直接下载,不打开
html5实现直接下载文件
支持html5的浏览器可用,无需服务器端 可用使用插件 SheetJ ,FileSaver.js  window.onload=function(){ var blob = new Blob(['啊啊啊<<&&']); var url = URL.createObjectURL(blob); document.getElementById('aa').setAttribute(
怎么下载 txt文件 而不是在浏览器中打开
我想用a 标签直接下载,而不是在浏览器中打开rnrn 比如:rn 文件 就能直接下载aa.txt文件 这样能不能实现 不能的话应该这么做
请教一下:如何直接下载,而不是客户端环境打开?!
大家好。rn比如说我放一个doc文件在服务器上,rn我不想在客户端打开(虽然客户端有word),rn而是点击链接时,客户端直接下载该文件。
如何使得文件是被下载而不是直接打开?
我在ASP中用Response.Redirece指向某个pdf文件时,客户端的Browser直接就把文件打开了。rn请问有什么方法可以使得文件是被客户端直接下载的?
Html直接打开word文档而不是提示下载
本人由于个人需要,做了一个html索引,把自己写的日记、感想、编程经验等许多文档放到一个html网页中,点击链接直接就调用本地office软件打开相应文档进行阅读、编辑。碰到一个问题,即点击相应链接之后提示下载,。。。。文档就在我电脑里,直接调应用给我打开啊,但是浏览器只能提示下载,搜了许多IE、浏览器设置之类的都没有找到办法。后来通过html事件响应终于把这个问题解决。 主要思路:1、写一个事
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件