【问题标题】:Push a file from Meteor server to AWS S3 with peerlibrary:aws-sdk使用 peerlibrary:aws-sdk 将文件从 Meteor 服务器推送到 AWS S3
【发布时间】:2018-02-08 21:43:28
【问题描述】:

此 Meteor 代码需要将从 Internet 收集的文件推送到我的 S3 存储桶。
所以我在更新在 docker 容器 EC2 中运行的服务器之前在本地对其进行测试。

编辑
我尝试推送的文件位于本地与代码文件相同的文件夹中。运行代码后,我现在可以看到 S3 存储桶中的文件,但其大小为 0。

如何实际上传文件以便将副本保存在存储桶中?谢谢

let s3 = new AWS.S3();
let params = {
  Bucket: "my-bucket-name",
  Key: "myfile.pdf",
};
s3.putObject(params, function (err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // => { ETag: '"d41d8...27e"' }
});

【问题讨论】:

标签: javascript meteor amazon-s3


【解决方案1】:

我认为你也需要给它一个本地文件名。 Key 是目标文件的名称,你需要告诉它读取和发送哪个文件。

我知道您刚刚开始在这里,但您需要考虑这些文件的位置。在生产环境中,文件系统是只读的,没有当前工作目录的概念。实际上很难在本地存储文件,因此您不应该在这种方法上浪费时间。

因此,当用户上传文件时,它必须直接转到 AWS。有很多 Meteor 包可以为你做到这一点,甚至还有像 Filestack 这样的服务让它变得如此简单,这并不好笑:)

所以也许这个上传本地文件的练习不值得追求:)

【讨论】:

  • Meteor 应用会使用 http 从网上下载 pdf 文件,需要将其保存到 S3。这是目标,有什么建议吗?
  • 现在我们发现您真正追求的是什么。这里有答案:stackoverflow.com/questions/22186979/…
猜你喜欢
  • 2023-01-27
  • 2013-06-08
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 1970-01-01
  • 2017-01-10
相关资源
最近更新 更多