博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在下载txt文件的时候不在IE里面直接打开,而是下载

Posted on 2011-03-16 17:31  hyd309  阅读(1357)  评论(0编辑  收藏  举报
方法一:
SmartUpload su = new SmartUpload();
 // 初始化 su.initialize(pageContext);
 // 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
=============================
 
方法二:
<%
// example:
// <a href="download.jsp?path=img/&name=test.gif">download image</a>
String root = getServletContext().getRealPath("/");
String path = request.getParameter("path");
String name = request.getParameter("name");
response.setContentType("unknown");
response.addHeader("Content-Disposition", "filename=\"" + name + "\"");
try
{
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream(root + path + name);
byte[] b = new byte[1024];
int i = 0;
while ( (i = fis.read(b)) > 0 )
{
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
}
catch ( Exception e )
{
}
%>
==============================
 
方法三:
<script>
var n=0;
function go(url){
   
    n==0?new function()
    {
        frames("frame1").location=url,n=1
    }:null;
   
    document.all("frame1").readyState!="complete"?setTimeout(go,10):so();
   
    function so()
    {
        frames("frame1").document.execCommand("SaveAs"),n=0
    };
}
</script>
<iframe id="frame1" style="display:none"></iframe>
<a  onClick="go('java.txt')" class="style2">下载</a>