小编Ric*_*y-U的帖子

Vue / HTML / JS如何使用下载标签将文件下载到浏览器

这个问题与提供的其他答案不同,因为我的问题集中在VUE上,并且VUE是否也有防止默认方法的方法。

这个问题更特定于HTML 5“下载”以及:href的VUE绑定,以及为什么它不能阻止默认浏览器在新选项卡中打开文件的行为。

预期的行为:将文件下载到浏览器

实际行为:在新选项卡中打开文件

例外:在新选项卡中仅打开图像,pdf和浏览器兼容的文件,其他文件(如.exe)正常下载-为什么这样做,可以在html中更改此行为吗?

添加target =“ _ blank”不能解决问题

<a :href="downloadById(item.url)" download>Download</a>
Run Code Online (Sandbox Code Playgroud)

单击上面的链接后,将在新的浏览器选项卡中打开文件,我需要防止这种默认行为,并在单击后强制下载。HTML 5标记“下载”被认为可以解决此问题,但似乎不起作用。

Chrome最近不推荐使用跨域下载的下载标签表单。vue是否有修饰符来防止此默认设置?还有其他方法可以使用javascript或html下载文件吗?

一个建议的解决方案是将URL读取为arrayBuffer,然后在DOM中创建一个新的blob,然后创建一个anchor元素,然后单击它。。但这似乎很难强制下载文件。

我确信他们一定是一个更干净的解决方案,可以从URL下载文件,这是一个小问题,希望有一个简单的解决方案。

谢谢。

html5 arraybuffer vue.js

8
推荐指数
2
解决办法
8693
查看次数

标签 统计

arraybuffer ×1

html5 ×1

vue.js ×1