当前位置: 首页 > 面试题库 >

使用Javascript / jQuery下载文件

南门正业
2023-03-14
问题内容

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

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

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

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


问题答案:

使用不可见的<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

在jQuery中:

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

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



 类似资料:
  • 问题内容: 我想下载一个jQueryajax响应的pdf文件。Ajax响应包含pdf文件数据。。我的代码在下面给出,但是我总是得到一个空白的pdf。 问题答案: jQuery使用AJAX请求加载二进制数据时存在一些问题,因为它尚未实现某些HTML5 XHRv2功能 鉴于此,您拥有以下两种解决方案之一: 第一个解决方案是放弃JQuery并使用XMLHTTPRequest 与本地HTMLHTTPReq

  • 问题内容: 我想使用ajax功能进行下载,从而用户将单击下载链接,该链接将(使用ajax和$ _GET)访问一个PHP文件,该PHP文件将处理发送的$ _GET变量并访问正确的文件进行下载。 我有一些PHP脚本来处理$ _GET变量的处理,这些变量可以单独工作,但是使用Ajax访问时,它们将停止工作。 我正在使用的Ajax / PHP代码如下: 请仔细阅读我的代码,帮助我找到我做错了什么。 谢谢

  • 问题内容: 假设我的网站上有文件下载链接。 单击这些链接后,会将AJAX请求发送到服务器,该请求返回带有文件位置的URL。 我想做的是指示响应返回时,浏览器直接下载文件。有便携式的方法吗? 问题答案: 试试这个库https://github.com/PixelsCommander/Download-File- JS ,它比以前描述的所有解决方案都更现代,因为它使用“下载”属性和方法组合来带来最佳体

  • 问题内容: 我使用以下方法将jQuery库附加到dom: 但是当我运行时: 控制台报告错误: 如何动态加载jQuery以及将其放入dom中使用它? 问题答案: 这里有一个工作的JSFiddle,上面有一个小例子,它可以确切地说明您正在寻找什么 这种动态加载JavaScript的方法存在一些问题。当涉及到非常基础的框架(如jQuery)时,您实际上可能想静态地加载它们,因为否则,您将必须编写一个完整

  • 问题内容: 当我单击按钮时,我想发送“ ajax下载请求”,因此我尝试了这种方式: javascript: download.php: 但是没有按预期工作,我该怎么办?先感谢您 问题答案: 进入HTML5场景的是download属性。它支持在Firefox和Chrome,并很快来到IE11。根据您的需求,只要您要下载的文件与您的网站位于同一来源,就可以使用它代替AJAX请求(或使用)。 您始终可以

  • 问题内容: 在我的应用程序中,在客户端创建了一个json对象。该对象被发布到HttpServlet,后者基于POST数据创建pdf文件。 该文件将发送回用户。调用成功函数,并记录流数据。但是,我想要下载该文件。 如何实现呢? 我的客户端代码: }); 然后servlet创建文件: 日志中的输出: 我的解决方案:* 有关指针,请参见http://www.particletree.com/notebo