我正在从facebook下载一些图片,仅用于学习HTML和JS。但我不希望文件名是一个长字符串(包含一些长数字和字符串)。
例如,我正在使用HTML5下载属性
<a href="https://fbcdn-sphotos-g-a.akamaihd.net/hphotos-ak-xlt1/v/t1.0-9/12109181_503948273111743_2421725301227286538_n.jpg?oh=08c71f2236eaacc243ccd36475b4634e&oe=56BAA86C&__gda__=1459095933_f07fc4bb7bf54f48ac0b9286f8bc92c6"
download="imagename.jpg">
Download Image
</a>
或者这是上面代码的JSFiddle
当我点击此链接时,文件会下载,但名称不同。我的问题是如何更改 images.jpg
之类的文件名有可能吗?如果是,我该怎么走。
答案 0 :(得分:2)
服务器通过HTTP标头发送默认文件名:
Content-Disposition: attachment; filename='somefile'
出于安全原因,在客户端上运行的代码对文件的控制非常有限。我能看到的唯一解决方案是使用一些服务器代码从另一个域下载该文件,然后使用新文件名将其发回。所以不,JS无法为您解决这个问题。
答案 1 :(得分:0)
我相对确定download属性只会重命名您托管的文件,而不是远程文件。
你的问题类似于这个问题: Using download attribute with remote file
在该答案中提到了一种解决方案,但它可能超出了简单的学习练习的范围。