【问题标题】:LoopBack Storage Service, upload directly (without request object)LoopBack 存储服务,直接上传(不带请求对象)
【发布时间】:2016-01-09 17:55:42
【问题描述】:

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

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

为了让上传处理程序满意,我是否需要伪造一个 POST 请求?似乎必须有更好的方法。

【问题讨论】:

标签: node.js express upload loopbackjs strongloop


【解决方案1】:

作为@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(...)

【讨论】:

  • 看来版本2还需要使用上面的管道方法,因为uploadStream只是获取要上传的流,奇怪的是没有回调方法对其进行操作(node_modules/loopback-component -storage/lib/storage-service.js) 即使在官方文档中提到了回调.. apidocs.strongloop.com/loopback-component-storage/…
猜你喜欢
  • 2020-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-23
  • 2019-01-18
相关资源
最近更新 更多