Javascript 如何从节点webkit应用程序在浏览器中打开数据:图像?
我正在使用Node Webkit制作图像增强应用程序。我有一个下载按钮,点击它执行以下操作Javascript 如何从节点webkit应用程序在浏览器中打开数据:图像?,javascript,node.js,macos,webkit,node-webkit,Javascript,Node.js,Macos,Webkit,Node Webkit,我正在使用Node Webkit制作图像增强应用程序。我有一个下载按钮,点击它执行以下操作 document.getElementById("download").onclick = function(){ var c = Caman("canvas"); if(file.type.replace("image/","")=="jpeg"){ //save as jpeg
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应用程序中下载不起作用
所以,我想让它能够在默认浏览器中打开data:image,这样我就可以从浏览器中保存图像,但我不知道怎么做。有人能帮我吗
谢谢。节点Webkit支持。因此,您可以使用方法保存文件。
或者你也可以看看wich,它可以为你简化任务 当您想要使用一个节点库时,您只需要像在node中一样在javascript中
需要它。请看一个例子:
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!");
}
});
});
您可以使用,它适用于节点webkit和浏览器。我猜这种方法可以保存文件,但我想让它在不保存图像的情况下工作。您可以尝试使用toDataURL之类的工具,然后用nwgui.Shell打开它,但我不确定。