- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我希望用户能够上传图像、PDF、Word 文档、音频文件等文件。我想知道我是应该将所有文件存储在本地服务器上,还是使用我从中托管的外部文件托管网站可以使用 API 访问文件。
如果我应该在本地保存,我该如何在 MeteorJS 上进行保存?您会推荐哪些软件包或方法?
最佳答案
在本地服务器上存储文件是可能的,您必须将它们存储在一个特殊的文件夹中并使用 Apache 或 Nginx 提供其内容,但是我认为这不是一个好主意,因为您会浪费您的应用程序外部存储服务(Google Cloud Storage、Amazon S3 等)可以更好地完成任务的服务器资源。
您甚至可以将文件存储在 MongoDB 中,但情况更糟,因为它们不容易缓存,而且效率低下且不可扩展。
最优雅的方式可能是将您的文件直接从最终用户客户端上传到外部存储服务服务器,甚至不通过您的 Meteor 应用服务器。客户端只会将存储的文件 URL 发送到您的 Meteor 服务器,以将它们保存在 MongoDB 中。外部存储服务的优势在于提供便宜的 Gb/月定价,并提供高可靠性、多服务器复制等......
有一个 Meteor 包实现了这个工作流程,我没有亲自测试过它,但我很确定这是可靠的 Material ,我会试一试。
https://github.com/CulturalMe/meteor-slingshot
第一次配置可能有点困难,但这绝对是正确的方法。
关于node.js - 我应该如何处理 Meteor 中的文件上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27405145/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!