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

如何使用AngularJS或Javascript提供文件下载?

东门阳飇
2023-03-14
问题内容

我在隐藏的文本区域中有一些文本。单击按钮后,我希望提供文本作为.txt文件下载。是否可以使用AngularJS或Javascript?


问题答案:

您可以使用进行类似的操作Blob

<a download="content.txt" ng-href="{{ url }}">download</a>

在您的控制器中:

var content = 'file content for example';
var blob = new Blob([ content ], { type : 'text/plain' });
$scope.url = (window.URL || window.webkitURL).createObjectURL( blob );

为了启用URL:

app = angular.module(...);
app.config(['$compileProvider',
    function ($compileProvider) {
        $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|file|blob):/);
}]);

请注意

每次调用createObjectURL()时,都会创建一个新的对象URL,即使您已经为同一对象创建了一个URL。当不再需要它们时,必须通过调用URL.revokeObjectURL()释放它们。当文档被卸载时,浏览器将自动释放这些文件。但是,为了获得最佳性能和内存使用率,如果可以安全地显式卸载它们,则应该这样做。

资料来源:MDN



 类似资料:
  • 问题内容: 整个问题都适合标题。并添加一些上下文:我不是在问规范所要求的最佳选择,而是考虑到当今部署的浏览器的混合,哪种方法最有效。 一些数据点: Google使用其主页上使用的JS。 Google 在Google文档上使用。 Google使用其Ajax库服务来提供JavaScript文件。 雅虎用来提供他们的JS。 雅虎在其主页上投放的JavaScript 使用。 问题答案: 已过时 在决定移居

  • 问题内容: 我正在用Spring开发一个网站,并试图提供不是.jsp文件(例如.html)的资源。 现在我已经注释掉了我的servlet配置的这一部分 并尝试从控制器返回资源的完整路径。 该文件夹中存在index.html文件。 注意:当我将index.html更改为index.jsp时,我的服务器现在可以正确服务该页面。 谢谢。 问题答案: 最初的问题是配置中指定了一个属性,因此实现类将添加到从

  • 我正在使用Spring开发一个网站,并尝试提供不是. jsp文件(例如. html)的资源 现在我已经注释掉了servlet配置的这一部分 并尝试从控制器返回资源的完整路径。 索引。该文件夹中存在html文件。 注意:当我更改索引时。要索引的html。jsp my server现在可以正确地为页面提供服务。 谢谢你。

  • 我想发布一个使用jitpack开发的android库。但我想在不发布源代码的情况下完成它。我不希望jitpack构建它,我将构建的输出(AAR文件)上传到github,我希望Jitpak只提供这些文件。 https://jitpack.io/docs/PRIVATE/#artifact-sharing 中的说明不适用,因为 UI 不再具有允许共享项目的设置选项卡。 还有,有没有更好的办法呢? 任何

  • 问题内容: 我需要提供下载文件的链接,任何用户都必须隐藏该链接并且可以访问该链接,这是我的代码,没有任何错误,但是我什至无法打开下载对话框: 模板 脚本文件 问题答案: 首先,您不能“隐藏/不公开”基于Web的技术(HTML / CSS / JavaScript)应用程序中的链接。下载是由客户端处理的,因此Download / Link-URL必须是公共的。您可以尝试使用后端执行的编程语言(例如“

  • 问题内容: 我正在尝试使用Echo提供多个文件,但并非每次都可以。api代码如下所示: 确切地说,它确实适用于最初的文件获取,但是随后对于任何后续调用(无论是文件获取还是更多的“经典”调用)都会失败。对于每个浏览器,错误消息都有所不同: 在Chrome中: 语法错误:无法在’XMLHttpRequest’上执行’setRequestHeader’:’Bearer {the_entire_conte