【问题标题】:LoopBack Storage Service: how to use upload/download methods from js code?LoopBack 存储服务:如何使用 js 代码的上传/下载方法?
【发布时间】:2016-03-18 20:05:49
【问题描述】:

如何使用 JavaScript/Loopback 代码中的 storageService.uploadstorageService.download 函数以最简单的方式上传/下载文件?我正在尝试做这样的事情:

app.post("/sendFile", (req, res) => client.upload( req, res, {}, () => {console.log("cb")} ) );

但这不起作用。我使用 Google Chrome 中的 Advanced Rest Client Application 发出我的 REST 请求。我为 multipart-form-data 设置 Content-Type 并将我的 jpg 文件添加到文件部分。

我得到无法在 S3 上创建分段上传:{“message”:“参数中缺少必需的键 'Bucket'”,“堆栈”:“MissingRequiredParameter:参数中缺少必需的键 'Bucket' (. ..) 错误。

我是这里的新手,但我觉得Loopback documentation 应该会好很多。感谢您的帮助!

【问题讨论】:

  • 您是否对该错误消息进行过研究?看起来很清楚。
  • 是的,我理解这个错误,但是 - 老实说 - 我不知道在哪里指定这个 Bucket 的东西 [我试图在表单、选项参数等中这样做,但是它不起作用],文档不是很有帮助。
  • 它会在你的环回配置文件中的某个地方。

标签: javascript express loopbackjs


【解决方案1】:

我得到了完全相同的错误,并通过在调用 .upload() 之前使用您的存储桶名称向 req-object 添加一个属性来修复 - 像这样:

app.post("/sendFile", (req, res) => {
  req.params.container = "name-of-your-bucket";
  client.upload( req, res, {}, (err, fileObject) => {});
});

如果您要定义一些选项,或者可能是更好的方法:

app.post("/sendFile", (req, res) => {

  var options = {
    container: "name-of-your-bucket"
  };

  client.upload( req, res, options, (err, fileObject) => {});
});

为了使上传/下载与 Loopback 一起工作,我推荐 this Stackoverflow question

【讨论】:

    猜你喜欢
    • 2016-01-09
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    相关资源
    最近更新 更多