【问题标题】:Storing uploaded images on Google App Engine with Java使用 Java 在 Google App Engine 上存储上传的图像
【发布时间】:2010-11-09 04:35:30
【问题描述】:

我正在考虑在 Google App Engine 上编写 Java Web 应用程序。我希望能够从应用程序上传和提供图像,但刚刚意识到数据存储区有 1MB 的限制。对于像样的照片来说,这有点太少了。您可以建议这样做的替代方法吗?也许将它们存储为静态内容而不是在数据存储中,但似乎没有用于此的 API。

【问题讨论】:

    标签: java google-app-engine image upload


    【解决方案1】:

    现在 Google App enigne 提供了不同于 Blobstore API 的 Image API。这是改进的,专门用于图像。你可以试试。

    https://cloud.google.com/appengine/docs/java/images/

    【讨论】:

      【解决方案2】:

      现在可以在 GAE 上使用。只需将文件存储在Blobstore。您可以像这样上传文件:

      <body>
      <form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data">
          <input type="file" name="myFile">
          <input type="submit" value="Submit">
      </form>
      

      然后从 servlet 提供文件:

      public void doGet(HttpServletRequest req, HttpServletResponse res)
      throws IOException {
          BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
          blobstoreService.serve(blobKey, res);
      

      【讨论】:

        【解决方案3】:

        您无法在 App Engine 中写入文件系统,因此静态内容暂时不可用 - 但用于存储和服务 blob 的 API 已在路线图上。同时,最好的办法是将文件拆分成块,然后将它们存储在数据存储中,或者使用 S3 等外部服务。

        【讨论】:

          【解决方案4】:

          今天没有简单的方法,但以后可能会改变。

          您现在可以做的最好的事情是在他们的问题跟踪器中投票(星标)将 Google 文件系统支持添加到 appengine 的请求:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多