直接下载img标签

时间:2017-05-24 23:31:00

标签: javascript html image

我有一个交叉来源的图片代码,并且src是动态分配的。

image.src = "http://skins.minecraft.net/MinecraftSkins/" + username + ".png";

显然,这在文档中显示得很好但我希望用户能够在点击下载按钮时将其保存到本地文件系统。我动态创建a标记,将下载属性设置为播放器用户名(和文件类型,png),但我不确定将href属性设置为什么。显然,我可以将它设置为实际图像标记的URL,但遗憾的是,这会使下载的文件变得非常丑陋且长名,这会降低用户体验。由于图像是交叉原点的(我不能改变它),我不能只将它放到画布上并将其转换为原始数据。但是,我确信有一些方法让用户从图像元素下载,但我找不到那种方式。 (好像他们右键单击并点击“将图像另存为...”)

我已尝试将href对象的a属性直接设置为img标记,但由于“无文件”,下载失败。

我尝试将href属性设置为新创建的Image对象,但错误相同。

注意:服务器端无法做任何事情。
出于测试目的,可以使用用户名“ImAlgo”

2 个答案:

答案 0 :(得分:1)

您可以使用s3.Object(s3Bucketname, filename).put(Body=open(filename, 'rb')) fetch()来获取资源的YQL表示,data URI元素和<a>属性,以便为所提供的资源设置建议的文件名每个chrome和firefox下载给用户。

download

答案 1 :(得分:0)

在下载链接中,下载属性用于下载文件的用户看到的文件名,href用于指向图像的链接:

<a href="/images/coolimage3424623.png" download="skin.png">