【问题标题】:node.js / gphoto2 - how to save file (jpg)node.js / gphoto2 - 如何保存文件(jpg)
【发布时间】:2013-10-29 21:11:40
【问题描述】:

我正在尝试使用 node.js (0.10.20)、libgphoto2 (2.5.2.) 和 gphoto2 模块为 Raspberry Pi(最新的 raspbian)上的节点构建佳能 eos 7d 的 web gui。

除了将文件保存在节点中之外,一切似乎都运行良好。

我使用以下代码sn-p:

app.get('/shoot', function(req, res){
    camera.takePicture({download:true}, function(er, data){

        res.header('Content-Type', 'image/jpeg');
        res.send(data);

        fs.writeFile("public/images/sampleImg.jpg", data);
    });
});

创建的文件不可读/不是有效的 jpg 图像

使用 libgphoto 的 cli 工具创建一个有效的图像:

pi@raspi /srv/node/eos $ gphoto2 --capture-image-and-download

所以我认为错误出现在用于保存数据的节点代码中

如何将节点中的数据正确保存到 .jpg 文件中?

【问题讨论】:

标签: node.js raspberry-pi libgphoto2


【解决方案1】:

我正在做一些非常相似的事情。 我似乎记得需要指定来自相机的数据是二进制的,例如:

app.get('/shoot', function(req, res){
    camera.takePicture({download:true}, function(er, data){
        res.header('Content-Type', 'image/jpeg');
        res.send(new Buffer(data, 'binary'));
        fs.writeFile(
            "public/images/sampleImg.jpg",
            new Buffer(data, 'binary'),
            function (err){}
            );
    });
});

如果您想合作,请给我发电子邮件。

http://tonyspiro.com/uploading-and-resizing-an-image-using-node-js/ http://lists.basho.com/pipermail/riak-users_lists.basho.com/2011-May/004270.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-08
    相关资源
    最近更新 更多