我想为 iPhone 应用程序构建一个网络服务。至于文件上传,我想知道标准程序和最具成本效益的解决方案是什么。据我所知,有两种可能:
我不打算以任何方式修改文件。我只需要告诉数据库添加一个条目。因此,如果我要上传文件 Client > S3,无论如何我都需要连接到服务器才能进行数据库输入。
It seems好像 EC2 > S3 只要两者在同一地区就不需要任何费用。
在开始实现文件上传之前,我有兴趣了解一下优缺点。
最佳答案
出于可扩展性的原因,我肯定会通过 S3 来完成。确实,S3 和 EC2 之间的数据既快速又便宜,但上传需要长时间运行,不像普通的 Web 请求。因此,您可能会使 EC2 实例上的 NIC 饱和。
相反,将 GUID 返回给客户端,使用设置为 GUID 的 key 和适当设置的 Content-Type 上传到 S3。然后在上传完成后调用 Web 服务/Ajax 端点以使用 GUID 键创建数据库记录。
关于django - 直接上传到 S3 还是通过 EC2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348384/