我試圖用Fabric.canvas對象使用FileSaver.js,但似乎Fabric js沒有blob選項。FileSaver.js與織物畫布
我正在使用Meteor框架。
如何在不使用基本canvas.toDataUrl的情況下導出Fabric畫布?
謝謝:)
我試圖用Fabric.canvas對象使用FileSaver.js,但似乎Fabric js沒有blob選項。FileSaver.js與織物畫布
我正在使用Meteor框架。
如何在不使用基本canvas.toDataUrl的情況下導出Fabric畫布?
謝謝:)
面料沒有Blob的直接選項。但是,您可以通過canvas.toJSON()
或canvas.toDataURL()
以json格式導出它。然後你轉換blob中的數據只是做這個。
出口布帆布BLOB:
var data = JSON.stringify(canvas.toJSON()),
blob = new Blob([data], {type: "octet/stream"});
或
var data = canvas.toDataURL(),
blob = new Blob([data], {type: "octet/stream"});
謝謝,這是一個不錯的主意。問題是,它不適用於Safari ... – Ynnad
您可以通過使用本地Canvas元素實現這一目標。
var canvas = new fabric.Canvas("canvas");
// ... your code here ...
canvas.getElement().toBlob(function(blob) {
saveAs(blob, "canvas.png");
});
如果你想這與Safari瀏覽器,則可以使用塞巴斯蒂安Tschan Javascript Canvas to Blob polyfill。
https://github.com/eligrey/FileSaver.js,FileServer的github – Ynnad
你可以很容易地將你的dataURI字符串轉換爲blob http://stackoverflow.com/questions/4998908/convert-data-uri- to-file-then-append-to-formdata/5100158#5100158 – Kaiido