js 能把图片文件保存到本地吗?

时间:2022-11-01 00:15:49
通过html2canvas这个插件把dom元素转换成了一个base64的图片数据,现在想直接下载这张图片到本地,但网上查了很多方法都只有iframe的方法,但只支持IE。请问有没有其他方法?

再问一下把dom转化为图片还有其他的插件么?html2canvas这个插件API太少(其实是墙的问题,官网我上不了,明天我在弄弄),而且生成的图片有点模糊,所有再问问有没有其他插件。

4 个解决方案

#1


一般需要通过服务器端设置响应头为content-disposition为attachment进行保存,对于Firefox或者chrome你可以试试将canvas调用toDataURL获取图片base64字符串,然后设置连接href为toDataURL的返回值,并且给连接添加download属性,就可以执行保存

在结合IE的iframe就可以实现大部分保存功能了

不清晰没搞头

#2


引用 1 楼 showbo 的回复:
一般需要通过服务器端设置响应头为content-disposition为attachment进行保存

这个有点不太懂~看来我还要多学习学习~ js 能把图片文件保存到本地吗?

不过下载图片参照你的方法实现了~总之谢谢~

至于图片不清晰我也不知道为什么,但勉强可以接受,我到时候去看看官网,是不是什么参数我设置错误了 - -!

js 能把图片文件保存到本地吗?
js 能把图片文件保存到本地吗?

#3


html2canvas用的也是canvas转换的,可能是你设置压缩比率太高了。自己看下配置吧

#4


引用 3 楼 showbo 的回复:
html2canvas用的也是canvas转换的,可能是你设置压缩比率太高了。自己看下配置吧


嗯。我先弄个VPN看看官网先。

但其实我昨天用 下载生成的图和QQ截图对比,生成的模糊17kb,截图的清晰2kb  js 能把图片文件保存到本地吗?

#1


一般需要通过服务器端设置响应头为content-disposition为attachment进行保存,对于Firefox或者chrome你可以试试将canvas调用toDataURL获取图片base64字符串,然后设置连接href为toDataURL的返回值,并且给连接添加download属性,就可以执行保存

在结合IE的iframe就可以实现大部分保存功能了

不清晰没搞头

#2


引用 1 楼 showbo 的回复:
一般需要通过服务器端设置响应头为content-disposition为attachment进行保存

这个有点不太懂~看来我还要多学习学习~ js 能把图片文件保存到本地吗?

不过下载图片参照你的方法实现了~总之谢谢~

至于图片不清晰我也不知道为什么,但勉强可以接受,我到时候去看看官网,是不是什么参数我设置错误了 - -!

js 能把图片文件保存到本地吗?
js 能把图片文件保存到本地吗?

#3


html2canvas用的也是canvas转换的,可能是你设置压缩比率太高了。自己看下配置吧

#4


引用 3 楼 showbo 的回复:
html2canvas用的也是canvas转换的,可能是你设置压缩比率太高了。自己看下配置吧


嗯。我先弄个VPN看看官网先。

但其实我昨天用 下载生成的图和QQ截图对比,生成的模糊17kb,截图的清晰2kb  js 能把图片文件保存到本地吗?