链接/按钮从子文件夹下载文件--浏览器只是浏览

Link/button to download file from subfolder-- browser just browses

本文关键字:浏览器 浏览 文件 下载 按钮 文件夹 链接      更新时间:2023-09-26

我尝试过:

var url = '/files/123.txt';
$('a').click(function(e) {
    e.preventDefault();  //stop the browser from following
    window.location.href = url;
});

这只会让firefox浏览到文本文件,而不会提示下载。

我也尝试过这个功能:

var downloadURL = function downloadURL(url)
{
    var iframe;
    iframe = document.getElementById("hiddenDownloader");
    if (iframe === null)
    {
        iframe = document.createElement('iframe');  
        iframe.id = "hiddenDownloader";
        iframe.style.visibility = 'hidden';
        document.body.appendChild(iframe);
    }
    iframe.src = url;   
}

它也有同样的问题——在浏览器中打开,没有下载提示。

我尝试过使用apache:

<Files *.txt>
  ForceType applicaton/octet-stream
</Files>

我在子文件夹和父文件夹中都放置了带有此代码的.htaccess。这种apache方法似乎只有在请求的文本文件与网页位于同一文件夹中时才有效。当文本文件被放入子文件夹/files/时,同样的问题仍然存在——没有下载提示。

真的,现在有秘密的方法吗?

如果你想以.htaccess的方式使用,你需要更改的是标题,而不是内容类型:

<FilesMatch "'.(?i:txt)$">
  Header set Content-Disposition attachment
</FilesMatch>

利用PHP头实现最大的通用性。如何做到这一点可以在这里找到:http://webdesign.about.com/od/php/ht/force_download.htm