Node.js 使用pkgcloud的机架空间自定义Skipper适配器

Node.js 使用pkgcloud的机架空间自定义Skipper适配器,node.js,sails.js,rackspace,skipper,pkgcloud,Node.js,Sails.js,Rackspace,Skipper,Pkgcloud,我已经开始在Sails.js中为Skipper构建一个自定义适配器,使用pkgcloud上传到Rackspace云文件,但我遇到了麻烦。文件似乎没有被上传,试图捕获错误似乎不起作用。也许我错过了什么 我已经在这里发布了我的代码: 您需要在api/adapters/rackspace中检查它才能使用它 我现在只做接收器的部分。 pkgcloud api如下所示: 我的控制器代码如下: 上传:功能(请求、恢复){ 请求文件('file')。上传({ 适配器:需要('../adapters/rac

我已经开始在Sails.js中为Skipper构建一个自定义适配器,使用pkgcloud上传到Rackspace云文件,但我遇到了麻烦。文件似乎没有被上传,试图捕获错误似乎不起作用。也许我错过了什么

我已经在这里发布了我的代码:

您需要在api/adapters/rackspace中检查它才能使用它

我现在只做接收器的部分。 pkgcloud api如下所示:

我的控制器代码如下:

上传:功能(请求、恢复){
请求文件('file')。上传({
适配器:需要('../adapters/rackspace/index'),
用户名:sails.config.rackspace.username,
apiKey:sails.config.rackspace.apiKey,
区域:sails.config.rackspace.region,
容器:sails.config.rackspace.container
},函数whenDone(错误,上载文件){
if(err)返回res.negotiate(err);
否则返回res.ok({
文件:上传的文件,
textParams:req.params.all()
});
});

},
我自己回答这个问题,我的代码是有效的,但问题是我期待一个CDNUri,但得到了其他东西。基本上,我的接收器代码是有效的。现在,我只需要完成一下,让其他人也能够使用Skipper。

没有找到源代码,这是使用pkgcloud的适配器示例
功能pkgCloudReceiver(opts){
var接收器\可写({
objectMode:true
});
var client=getClientStorage(选项);
接收器一次('error',函数(err){
//console.log('once err',err);
});
receiver\uuuuu.\uwrite=函数(\uuuuuu新文件,编码,下一步){
options.tmpdir=options.tmpdir | | path.resolve(process.cwd(),'.tmp/pkgcloud temp');
变量文件={
容器:options.container,
远程:_newFile.fd,
contentType:mime.lookup(_newFile.fd),
};
writeStream=client.upload(文件);
writeStream.on('error',函数(err){
接收器发出(“错误”,错误);
});
writeStream.on('progress',函数(数据){
//console.log('进度',数据);
});
writeStream.on('success',函数(数据){
next();
});
__newFile.pipe(writeStream);
};
返回接收器;

};您能确认您正在使用我们帮助文档中的最新示例吗?还有什么版本的pkgcloud?是的,我正在使用你的帮助文档的那个版本,尽管我不得不修改它以与Skipper一起使用。另外,使用pkgcloud的1.2.0 alpha。看起来这一行是不正确的,它不应该是
outs\uuu.once('success',function(){})
而不是
out.once('finish',function(){})?嗯,至少应该是一次。。。。我必须改变这一点。这一更改在我的本地磁盘上,尚未提交,但finish是正确的。我们在pkgcloud中不使用finish,而是使用success,这就是我问这个问题的部分原因。我需要补充的是,由于客户端的一些内部IP问题,我不得不删除github存储库。一旦skipper rackspace适配器的产品发布,将来可能会发布一个公共存储库。如果有人想在使用上得到帮助,我很乐意提供帮助,但由于使用IP,必须小心。