作者:陈庭勇筱玲喜芳 | 来源:互联网 | 2023-01-28 12:45
我想设置"非典型文件"的文件名和格式,因为缺少更好的单词.文件存储在以下位置......
let link = https://.../videoplayback?ipbits=0&initcwndb...D134213BA9465CB74DFD36CDE47BF.102638C4A9F3ACA357F79EE747DD5F49F1E0F0DE
当人们下载这些文件时,即使它们是完全不同的文件,它们也总是以相同的名称保存,而不是文件扩展名.
我试过了url.download = link + '.mp4'
,但这没有任何效果.
我怎样才能做到这一点?
1> Kwestion..:
根据具有下载属性的锚标签的MDN :
可以与blob一起使用:URL和数据:URL,使用户可以轻松下载使用Javascript以编程方式生成的内容(例如,使用在线绘图Web应用程序创建的图片).
如果HTTP标头Content-Disposition:存在并提供与此属性不同的文件名,则HTTP标头优先于此属性.
如果此属性存在并且Content-Disposition:设置为内联,则Firefox优先考虑Content-Disposition,例如文件名大小写,而Chrome优先考虑下载属性.
此属性仅适用于具有
相同来源的资源的链接.
因此,如果您动态生成这些链接并且它们来自您自己的服务器 - 您可以设置文件名.跨源请求不起作用!
您可以使用ajax将文件作为blob获取,并诱使浏览器认为数据不是跨源的.有关一种可能的实现,请参阅此答案