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

我想使用Loopback存储服务将file upload到存储容器。

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

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

正如@RohitArkani暗示的那样 ,文件app-cloud.js包含一个使用storageService.uploadStream(container, file, [options], Callback)的file upload的例子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); 

看来 (但看到评论 ),在版本2,你通过获得存储服务

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

代替。 然后,调用Container.uploadStream(...)