我正在开发Android(现在只是Android,也许是iOS以后)的应用程序,该应用程序严重依赖于拍照,将这些图片存储在某个服务器上,并且能够在用户需要时检索任何图片这将是非常频繁的。
我之前担心的问题是,我甚至可以将这些图片经济高效地存储在服务器上。如果应用程序成功,可能会存储数百GB的图像,而且许多用户每次都会请求1张图片。
所以我想知道我应该采取什么方法。在我看来,我的选择是使用网络主机或使用一些云计算/存储服务。我认为主机可能不可能,因为我不认为主机会支持这么多的存储空间。这让我有了云计算。
我研究过GAE和AWS。 AWS似乎是最好的方法,因为我可以使用S3来存储我的图像,然后使用RDS来存储关系数据库中每个用户的信息。我对服务器的东西几乎一无所知,所以我真的不知道在AWS设置中我应该使用什么。我知道我需要S3而且我知道我需要一个关系数据库,就是这样。那么我需要什么功能呢?
或者有人知道我应该采取更好的方法吗?
另外,在Android中压缩图像是一个选项,所以它们不会占用服务器上那么多的空间?质量是否受到很大影响?
答案 0 :(得分:1)
我使用AWS存储从Android设备上传的图像。我所做的是使用AWS Android SDK将图像直接上传到s3,然后将记录保存在每个用户上传图像的键/路径的数据库中。 这种方法的优点是您不使用服务器(例如EC2)进行图像上传,使您的服务器可用于其他任务。
如果您打算使用AWS,我认为您至少需要以下服务:
S3:用于存储图片。
EC2:用于部署服务器代码。
RDS:对于您的数据库(假设您使用的是关系数据库)
有很多关于将文件上传到s3的教程。 http://aws.amazon.com/articles/3002109349624271
您可以使用亚马逊的calculator
估算费用