javascript - 在 angularjs 1.2(或 javascript)和 HTML 4x 中打开 Saveas 对话框

标签 javascript jquery angularjs download window

我是 AJAX 调用,当服务器(REST 服务)发送响应时,它实际上是指向生成文件的链接,例如

/project/tmporaryFiles/file.abc

(文件扩展名也可以自定义)它只是一个文本文件。当我使用 $window.open 时,它只是在浏览器中打开文本文件并显示文本。我想打开一个保存对话框,以便用户用户应该能够保存文件而不是在浏览器中查看它。我尝试过 stackoverflow 的多线程但找不到解决方案。大多数解决方案都是针对 HTML5 的,即 anchor 中的下载属性,我相信这在 HTML4x 中不可用。 我试图找到的一个解决方案是创建一个带有响应链接的 Blob,但我无法做到。

另请注意,根据用户的数据处理和输入,文件也可能超过 100MB。

最佳答案

如果您想在不使用 HTML5 download 属性的情况下强制下载,您需要设置 Content-Disposition在响应 header 上。

这可以在服务器端完成,而不是在客户端完成。

关于javascript - 在 angularjs 1.2(或 javascript)和 HTML 4x 中打开 Saveas 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41156217/

相关文章:

javascript - Ajax 200 执行成功/失败

jquery - 我如何使用 jQuery 为我的导航项添加悬停效果淡入淡出?

javascript - 为什么我的ajax成功数据没有显示在Angular JS中

javascript - 从 Angular 1.3.0 开始,无法在单元测试中编译嵌入的指令

asp.net - 带有 .NET Web API : Authentication with AD 的 AngularJS

带有 $.get 的 javascript 函数不会返回值

javascript - 传回动态字符串数组时出现问题

javascript - Jquery 绑定(bind)事件

javascript - 如何在ajax成功函数中为实例变量赋值

javascript - document.execCommand (‘cut’/‘copy’ ) 在小书签中被拒绝