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(...)
。