html生成图片并保存到本地方法(Windows)
2016-12-02 00:13
423 查看
// 最近用到一个保存html为图片到本地的功能(保存到下载目录),记之,该功能IE使用Blob 存储数据,关于兼容性问题参见如下表格,其他浏览器使用a标签download属性新功能下载
// 步骤一:引入html2canvas.js
//步骤二:完成以下方法即可
function downloadForJS(){
//使用html2canvas 转换html为canvas
html2canvas($("#ID")).then(function(canvas) {
if(IE){ //判断IE下保存方法
var blob = canvas.msToBlob();
window.navigator.msSaveBlob(blob, fileName);
}else{//其他浏览器保存方法
var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url
var saveLink = document.createElement( 'a');
saveLink.href =imgUri;
saveLink.download = fileName; saveLink.click();
}
});
}
更多兼容性问题参考:https://github.com/eligrey/FileSaver.js
Browser | Constructs as | Filenames | Max Blob Size | Dependencies |
---|---|---|---|---|
Firefox 20+ | Blob | Yes | 800 MiB | None |
Firefox < 20 | data: URI | No | n/a | Blob.js |
Chrome | Blob | Yes | 500 MiB | None |
Chrome for Android | Blob | Yes | 500 MiB | None |
Edge | Blob | Yes | ? | None |
IE 10+ | Blob | Yes | 600 MiB | None |
Opera 15+ | Blob | Yes | 500 MiB | None |
Opera < 15 | data: URI | No | n/a | Blob.js |
Safari 6.1+* | Blob | No | ? | None |
Safari < 6 | data: URI | No | n/a | Blob.js |
//步骤二:完成以下方法即可
function downloadForJS(){
//使用html2canvas 转换html为canvas
html2canvas($("#ID")).then(function(canvas) {
if(IE){ //判断IE下保存方法
var blob = canvas.msToBlob();
window.navigator.msSaveBlob(blob, fileName);
}else{//其他浏览器保存方法
var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url
var saveLink = document.createElement( 'a');
saveLink.href =imgUri;
saveLink.download = fileName; saveLink.click();
}
});
}
更多兼容性问题参考:https://github.com/eligrey/FileSaver.js
相关文章推荐
- js将html生成为图片,并保存在本地
- JFreeChart生成折线图(生成图片本地保存,有解决中文乱码的通用方法)
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- R语言生成保存图片方法
- 用html5的canvas生成图片并保存到本地
- ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片
- PHPExcel读取EXCEL中的图片并保存到本地的方法
- jsp获取远程图片保存到本地服务器上方法
- 生成黑白画笔,android使用系统浏览器打开网页,将Bitmap图片存储在本地JPG文件的方法
- iOS开发-简单方法实现扒下网站html保存到本地文件
- ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片
- 将html canvas里的图片保存到本地
- 用ASP.NET实现下载远程图片保存到本地的方法 保存抓取远程图片的方法
- [导入]从远程图片保存到动态生成HTML页面:
- ASPX保存远程图片到本地的两种方法的函数
- ASP.NET下载远程图片保存到本地的方法、保存抓取远程图片
- 用html5的canvas生成图片并保存到本地
- DEDE不能远程保存(下载)图片到本地的解决方法
- PHPExcel读取EXCEL中的图片并保存到本地的方法
- Dedecms无法保存远程图片到本地服务器的解决方法