javascript - 从 URL 跨浏览器自动下载文件
问题描述
我正在尝试从我的 BE 提供给我的 URL 下载文件。我有需要文件 GUID 和一次性访问令牌并返回带有标题的文件的端点
Content-Disposition:attachment; filename="testfile.txt"
Content-Type:text/plain; charset=UTF-8
和 URL 看起来像这样,它是由 RXJS 动态构建的,所以我不能只分配到带有下载属性的 HTML
`/document/${guid}/download?token=${token}`
我发现了很多关于这个主题的线程,但他们中的大多数都建议使用窗口类函数,如打开、断言、位置等。这些函数实际上并不能以我想要的方式在所有浏览器中运行 - 自动开始下载文件而无需打开额外的选项卡等。我还找到了带有 DOM 操作的解决方案,例如带有元素的 appendChild 和给定的 URL,然后将其删除,但这个解决方案对我来说似乎很难看。
所以我的问题是,有没有什么优雅的方法可以强制浏览器下载文件而不在额外的选项卡中打开它,没有 DOM 操作和跨浏览器(因为下载属性在 Safari 上不起作用)或导入第 3 方库?
解决方案
推荐阅读
- javascript - 多步表格排列显示
- tinymce - 在 HCL Connections 6.5 CR1 TinyMCE 中向 PrismJS 添加额外的语法高亮插件
- java - 如何在 Spring Boot 中通过 Web 客户端中的名称传递路径变量?
- sybase - Sybase 16 中存储过程中的“go”
- docker - Keycloak Docker 容器重启后无法启动
- c# - 反射中使用的进程 startinfo 上的属性“Redirectstandarderror”未打开控制台窗口
- android - 协程主体未涵盖在单元测试代码覆盖范围内 - Android Studio
- java - 底部导航不起作用。如何解决这个问题?
- c++ - 从编译时多态到运行时
- flutter - Dart - 如何让类初始化函数与构造函数一起使用?