LoopBack存储服务,直接上传(无需请求对象)

时间:2015-10-12 09:44:06

标签: node.js express upload loopbackjs strongloop

我想使用Loopback storage service将文件上传到存储容器。

但是.upload() method需要一个请求对象。但是,如果我想上传一个不是来自提交表单的现有文件呢?

我是否需要伪造POST请求以使上传处理程序满意?似乎必须有更好的方法。

1 个答案:

答案 0 :(得分:3)

作为@RohitArkani hinted,文件app-cloud.js包含使用storageService.uploadStream(container, file, [options], Callback)的文件上传的第1版示例。

var s3 = new StorageService({
  provider: 'amazon',
  key: "your-amazon-key",
  keyId: "your-amazon-key-id"
});

var fs = require('fs');
var path = require('path');
var stream = s3.uploadStream('con1', 'test.jpg');
fs.createReadStream(path.join(__dirname, 'test.jpg')).pipe(stream);

seems(但请参阅the comment)在版本2中,您可以通过

获取存储服务
var ds = loopback.createDataSource({
  connector: require('loopback-storage-service'),
  provider: 'amazon',
  key: '...',
  keyId: '...'
});
var Container = ds.createModel('container');

代替。然后,拨打Container.uploadStream(...)