首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js / gphoto2 -如何保存文件(jpg)

node.js / gphoto2 -如何保存文件(jpg)
EN

Stack Overflow用户
提问于 2013-10-21 19:36:08
回答 1查看 1.6K关注 0票数 2

我正在尝试使用node.js (0.10.20),libgphoto2 (2.5.2)为佳能eos 7d建立一个web gui。以及树莓派上节点的gphoto2模块(最新的树莓派)。

除了将文件保存在node中之外,其他一切似乎都很正常。

我正在使用下面的代码片段:

代码语言:javascript
复制
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工具创建一个有效的图像:

代码语言:javascript
复制
pi@raspi /srv/node/eos $ gphoto2 --capture-image-and-download

因此,我假设错误是在用于保存数据的节点代码中的某处

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

EN

回答 1

Stack Overflow用户

发布于 2014-02-14 09:02:40

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

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19493469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档