我正在使用Node-Webkit制作图像增强应用。我点击了一个下载按钮,执行以下操作。
document.getElementById("download").onclick = function(){
var c = Caman("canvas");
if(file.type.replace("image/","")=="jpeg"){
//save as jpeg
c.save('jpeg');
} else {
//saves as png by default
c.save();
}
}
}
如果在浏览器中运行,该函数应该下载图像,但下载在Node-Webkit应用程序中不起作用。
所以,我想让它的功能是打开数据:默认浏览器中的图像,以便我可以从浏览器保存图像,但我不知道如何做到这一点。任何人都可以帮我这个吗?
感谢。
答案 0 :(得分:0)
Node-Webkit支持node.js filesystem API。因此,您可以使用fs.writeFile方法保存文件 或者您可以查看node-webkit-fdialogs,以便为您简化任务。
如果要使用节点库,只需在javascript中require
,就像在节点中一样。看看这个例子:
var fs = require("fs");
$('#saveButton').click(function() {
var canvasImage = canvas.toDataURL("image/png").split(',')[1];
var decodedImg = window.atob(canvasImage);
var img = new Buffer(decodedImg, encoding='base64');
fs.writeFile("output.png", img, function(err) {
if(err) {
console.log(err);
} else {
console.log("The file was saved!");
}
});
});
答案 1 :(得分:0)
您可以使用canvas-to-image,它适用于node-webkit和浏览器。