1

我有一个面向最终用户的图像上传应用程序(C# 桌面),我想切换到云(存储)(VPS 是昂贵且无限的托管服务提供商不允许图像托管脚本)。为此,我需要在我的应用程序中嵌入登录凭据(交付给最终用户),并可能根据更改更新它们。因此,出于安全原因(破解和上传不是图像的东西),这对我来说不是一个解决方案。

一种解决方案是托管一个 PHP 脚本,以便我的应用程序上传到该脚本(检查它是否是图像),然后将该图像重新上传到云存储。问题是,我使用双倍带宽。

是否有任何云托管模型使我能够(无需支付双倍带宽或运行 PHP 应用程序或其他神学的额外费用)或如何“隐藏”信用?

我每天有大约 5000 名 uniqe 访问者,每个时刻大约有 70 名用户在线(谷歌分析)。我在免费应用程序中提供免费服务,没有添加,所以我没有收入,我真的会尽量以最低的托管成本保持这种状态:(

4

1 回答 1

2

试用 Google App Engine 和 Blobstore。它相对易于使用(抱歉,不支持 PHP!)并且在指定的限制内免费,因此您无需花钱即可开发。

https://developers.google.com/appengine/docs/python/blobstore/overview

这个怎么运作:

  1. 您的 C# 应用 GET 到一个简短的 Python 脚本,该脚本仅返回一个包含随机键的 URL(Google 提供给您的 Python 脚本)

  2. 您的 C# 应用程序使用适当的 mime 类型 POST 到该 URL。

  3. 上传完成后,您的 C# 应用程序将被重定向到最终 URL。该 URL 将再次成为 Python 脚本,然后将记录上传的 URL(和任何元数据)以防止它成为孤立的。

使用 Google App Engine 的另一个优势是它们提供了最终处理的图像转换(裁剪、缩放)——例如,允许您请求缩略图,而无需先下载完整大小的图像。

对于第 3 步,您可以将 URL(实际上只是 blobstore 条目 ID)记录到您的主应用程序。关键是:您不想丢失该随机密钥,因为这是检索图像文件的唯一方法。

于 2013-01-07T19:35:35.863 回答