使用Javascript / jQuery下载文件

问题描述

使用不可见的<iframe>

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
    document.getElementById('my_iframe').src = url;
};
</script>

要强制浏览器下载本来可以呈现的文件(例如HTML或文本文件),则需要服务器将文件的MIME类型设置为无意义的值,例如application/x-please-download-me或另外application/octet-stream,用于任意二进制数据。

如果只想在新标签页中打开它,则唯一的方法是让用户单击其target属性设置为的链接_blank

$('a#someID').attr({target: '_blank', 
                    href  : 'http://localhost/directory/file.pdf'});

只要单击该链接,它将在新的选项卡/窗口中下载文件

解决方法

我在这里指定了非常相似的要求。

我需要让用户的浏览器在以下情况下手动开始下载 $('a#someID').click();

但是我无法使用该window.href方法,因为它将当前页面内容替换为您尝试下载的文件。

相反,我想在新窗口/选项卡中打开下载。这怎么可能?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”