有没有办法允许用户在使用浏览器在 javascript svg 画布上创建矢量图之后,将此文件下载到本地文件系统?
SVG 对我来说是一个全新的领域,所以如果我的措辞不准确,请耐心等待。
您可以避免往返服务器。
对 SVG xml 进行 Base64 编码。
然后生成该数据的链接。用户可以右键单击将其保存到本地。
// This example was created using Protovis & jQuery
// Base64 provided by http://www.webtoolkit.info/javascript-base64.html
// Modern web browsers have a builtin function to this as well 'btoa'
function encode_as_img_and_link(){
// Add some critical information
$("svg").attr({ version: '1.1' , xmlns:"http://www.w3.org/2000/svg"});
var svg = $("#chart-canvas").html();
var b64 = Base64.encode(svg); // or use btoa if supported
// Works in recent Webkit(Chrome)
$("body").append($("<img src='data:image/svg+xml;base64,\n"+b64+"' alt='file.svg'/>"));
// Works in Firefox 3.6 and Webit and possibly any browser which supports the data-uri
$("body").append($("<a href-lang='image/svg+xml' href='data:image/svg+xml;base64,\n"+b64+"' title='file.svg'>Download</a>"));
}
img 标签在 Webkit 中工作,该链接在 Webkit 和 Firefox 中工作,并且可以在任何支持的浏览器中工作data-uri
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)