【问题标题】:Changes before upload in slingshot meteor package弹弓流星包中上传前的更改
【发布时间】:2015-09-11 15:45:45
【问题描述】:
我正在使用 slingshot 在我的 Amazon s3 中上传一些图像,它就像魅力一样。不过,我也想在我的 Amazon s3 中使用 slingshot 上传一些文件(文本、文档、odf 等)。但是,我想在上传到 s3 之前先将所有这些文件转换为 PDF。我熟悉像“https://github.com/gfloyd/node-unoconv”这样的nodeJs包,它将文件转换为PDF。但是我怎么能把它集成到弹弓中呢。
最终,客户端上传的所有文本、文档等文件,我希望它们以 PDF 格式存储在 S3 中。那么有没有办法做到这一点。
流星的业余爱好者,如果解释详细,将不胜感激。
谢谢。
【问题讨论】:
标签:
javascript
node.js
meteor
meteor-slingshot
【解决方案1】:
Slingshot 正在直接上传到 S3,所以我不确定在上传之前如何有效地转换文件。您可以在客户端执行此操作,但这显然不是 100% 可靠的,并且对客户端来说可能很繁重。
对于最近的一个应用程序,我使用了Amazon Lambda,以便在将图像上传到 S3 存储桶后立即调整其大小。
它非常易于使用。您只需使用您的代码创建一个包并将其上传到 Lambda,然后在文件上传到 S3 时触发 Lambda 函数。
这项服务真的很便宜,tutorial 很容易理解。它是关于文件大小调整,但它应该很容易修改以便进行 PDF 转换,因为您可以使用任何 npm 包。
涉及的步骤很多:创建 S3 存储桶、创建 IAM 角色、创建 Lambda 函数等。但是一旦配置完成,它就非常可靠。
我认为它是与 S3 配对的最佳工具,尤其是当您直接上传到存储桶时。