一个下载链接释放到客户端是a标签,其href属性是文件的路径,如果是txt或jpg这种文件,点击链接不是弹出下载框而是直接在窗口显示,如果是doc或其他文件,就会弹出下载框。怎样才能使所有文件点击都能弹出下载框而不直接打开呢?

解决方案 »

  1.   

    我记得以前传智播客里介绍过的,好像要改http报文。。
      

  2.   

    如果是iis 服务器, 可以配置网站的mime 类型 , txt 和 jpg 映射到 application/octet-stream ,或者application/x-msdownload。不知道可行不,没试过 ,不过肯定是这个思路,另外好像不同浏览器的处理也不尽相同 
      

  3.   

     <a href="javascript:rediect('http://xx.jpg')">
     最简单做写就是href里写个JS方法
      function rediect(url){
       if xxx
       else
        
      }
      

  4.   

    http://regedit-123.iteye.com/blog/649488
      

  5.   

    你应该这样下载
    <a href="down.aspx?file=xxx.txt"
      

  6.   

    会直接打开是因为我们浏览器可以识别 对于.jpg和.txt文件是浏览器识别的文件
    一种简单的做法是 更改他们的后缀名下载 比如把.jpg改成.jpg.重命名  这样就可以直接<a href="123.jpg.重命名"></a>
      

  7.   

    //通知浏览器下载文件而不是打开
                Response.AddHeader("Content-Disposition", "attachment;  filename=a.txt", System.Text.Encoding.UTF8));
                Response.BinaryWrite(bytes);
                Response.Flush();
                Response.End();
      

  8.   

    我站内有个文件.pdf想直接打开而不是下载。怎么办呀 
      

  9.   

    <a href="/down/test">public ActionResult FilePathDownload()
    {
        var path = Server.MapPath("~/Files/test.zip");
        return File(path , "application/x-zip-compressed", "crane.zip");
    }