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

Arn*_*rne 9 upload node.js express strongloop loopbackjs

我想使用Loopback存储服务将文件上传到存储容器.

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

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

ser*_*inc 3

正如@RohitArkani 暗示的那样,文件app-cloud.js包含文件上传的版本 1 示例,该示例使用storageService.uploadStream(container, file, [options], Callback).

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);
Run Code Online (Sandbox Code Playgroud)

似乎(但请参阅评论)在版本 2 中,您通过以下方式获得存储服务

var ds = loopback.createDataSource({
  connector: require('loopback-storage-service'),
  provider: 'amazon',
  key: '...',
  keyId: '...'
});
var Container = ds.createModel('container');
Run Code Online (Sandbox Code Playgroud)

反而。然后,打电话Container.uploadStream(...)