Android应用程序:在服务器上存储大量图像

时间:2014-01-21 18:51:17

标签: android image google-app-engine amazon-web-services host

我正在开发Android(现在只是Android,也许是iOS以后)的应用程序,该应用程序严重依赖于拍照,将这些图片存储在某个服务器上,并且能够在用户需要时检索任何图片这将是非常频繁的。

我之前担心的问题是,我甚至可以将这些图片经济高效地存储在服务器上。如果应用程序成功,可能会存储数百GB的图像,而且许多用户每次都会请求1张图片。

所以我想知道我应该采取什么方法。在我看来,我的选择是使用网络主机或使用一些云计算/存储服务。我认为主机可能不可能,因为我不认为主机会支持这么多的存储空间。这让我有了云计算。

我研究过GAE和AWS。 AWS似乎是最好的方法,因为我可以使用S3来存储我的图像,然后使用RDS来存储关系数据库中每个用户的信息。我对服务器的东西几乎一无所知,所以我真的不知道在AWS设置中我应该使用什么。我知道我需要S3而且我知道我需要一个关系数据库,就是这样。那么我需要什么功能呢?

或者有人知道我应该采取更好的方法吗?

另外,在Android中压缩图像是一个选项,所以它们不会占用服务器上那么多的空间?质量是否受到很大影响?

1 个答案:

答案 0 :(得分:1)

我使用AWS存储从Android设备上传的图像。我所做的是使用AWS Android SDK将图像直接上传到s3,然后将记录保存在每个用户上传图像的键/路径的数据库中。 这种方法的优点是您不使用服务器(例如EC2)进行图像上传,使您的服务器可用于其他任务。

如果您打算使用AWS,我认为您至少需要以下服务:

S3:用于存储图片。

EC2:用于部署服务器代码。

RDS:对于您的数据库(假设您使用的是关系数据库)

有很多关于将文件上传到s3的教程。 http://aws.amazon.com/articles/3002109349624271

您可以使用亚马逊的calculator

估算费用