首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pkgcloud的Rackspace自定义跳过适配器

使用pkgcloud的Rackspace自定义跳过适配器
EN

Stack Overflow用户
提问于 2015-03-24 17:20:08
回答 2查看 212关注 0票数 1

我已经开始为Sails.js中的Skipper构建一个自定义适配器,使用pkgcloud将其上传到Rackspace云文件中,但我被卡住了。看起来文件并没有被上传,试图捕获错误似乎不起作用。也许我漏掉了什么。

我在这里发布了我的代码:https://github.com/ccoppenbarger/skipper-rackspace

您需要在api/适配器/rackspace中检查它才能使用它。

我现在只做听筒部分的工作。pkgcloud在这里:https://developer.rackspace.com/docs/cloud-files/getting-started/

我的控制器代码如下:

代码语言:javascript
复制
upload : function(req, res){
               
        req.file('file').upload({
          adapter: require('../adapters/rackspace/index'),
          username: sails.config.rackspace.username,
          apiKey: sails.config.rackspace.apiKey,
          region: sails.config.rackspace.region,
          container: sails.config.rackspace.container
        }, function whenDone(err, uploadedFiles) {
          if (err) return res.negotiate(err);
          else return res.ok({
            files: uploadedFiles,
            textParams: req.params.all()
          });
        });
    },

有人能看看我在index.js中可能缺少了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-25 18:12:06

为了自己回答这个问题,我的代码正在工作,但问题是,我期待一个CDNUri,但得到了其他东西。基本上,我的接收器代码正常工作。现在,我只需要完成为其他人能够使用,以及与船长。

票数 0
EN

Stack Overflow用户

发布于 2015-06-16 16:43:09

没有找到任何源,下面是使用pkgcloud的适配器示例。

代码语言:javascript
复制
 function pkgCloudReceiver(opts){

    var receiver__ = Writable({
      objectMode: true
    });

    var client = getClientStorage(options);

    receiver__.once('error', function(err){
      //console.log('once err',err);
    });

    receiver__._write = function(__newFile, encoding, next){
      options.tmpdir = options.tmpdir || path.resolve(process.cwd(), '.tmp/pkgcloud-temp');

      var file = {
        container: options.container,
        remote: __newFile.fd,
        contentType: mime.lookup(__newFile.fd),
      };

      writeStream = client.upload(file);

      writeStream.on('error', function(err){
        receiver__.emit('error', err);
      });

      writeStream.on('progress', function(data){
        //console.log('progress', data);
      });

      writeStream.on('success', function(data){
        next();
      });

      __newFile.pipe(writeStream);

    };

    return receiver__;

  };

完整适配器:https://github.com/urielaero/skipper-pkgcloud

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

https://stackoverflow.com/questions/29239006

复制
相关文章

相似问题

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