首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索外部图像并存储在CollectionFS中

检索外部图像并存储在CollectionFS中
EN

Stack Overflow用户
提问于 2013-10-15 01:53:35
回答 1查看 374关注 0票数 0

好的,我在一个特定的URL上有一个带有变量path的图像,我想要下载它并将它存储在CollectionFS中。如何从响应中获取/创建图像缓冲区?

代码语言:javascript
复制
var request = Npm.require('request').defaults({encoding: null});
request.get(path, function(err, res, body)
    {
        return CollectionFS.storeBuffer(res.request.uri.path, body, { 
    });
});

它看起来存储成功,大小正确。但当我尝试查看图像时,它似乎已损坏。

EN

回答 1

Stack Overflow用户

发布于 2013-10-15 05:15:10

回答我自己的问题。我对上面的代码有两个问题。首先,meteor不喜欢你尝试在回调中访问数据库,所以我添加了一个等到回调完成的future。

其次,storeBuffer上的默认编码是utf-8,这对图像来说是个问题。改成ascii解决了我的问题。

var Future =Npm.require(“光纤/未来”);

代码语言:javascript
复制
    var pre = new Future();
    var preOnComplete = pre.resolver();

    var request = Npm.require('request').defaults({encoding: null});

    request.get(path, function(err, res, body)
    {
        return preOnComplete(err, res, body);
    });

    Future.wait(pre);

    return EventImages.storeBuffer(pre.value.request.href, pre.value.body, { 
        contentType: 'image/jpeg',
        metadata: { eventId: eventId },
        encoding: 'binary'
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19366155

复制
相关文章

相似问题

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