Javascript 如何从节点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

我正在使用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应用程序中下载不起作用

所以,我想让它能够在默认浏览器中打开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打开它,但我不确定。