【问题标题】:How to make upload handler in AppEngine for object uploaded to Google Cloud Storage with Blobstore API如何在 AppEngine 中为使用 Blobstore API 上传到 Google Cloud Storage 的对象制作上传处理程序
【发布时间】:2016-07-27 17:45:13
【问题描述】:

您可以使用 Blobstore API 在 Google App Engine 中创建上传 URL,如下所示:

BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
String callbackUrl = "/imageApi/imageUploaded";
String uploadUrl = blobstoreService.createUploadUrl(callbackUrl,
     UploadOptions.Builder.withGoogleStorageBucketName("myBucket"));

但是,我如何在 App Engine 内部创建一个 Java 方法来处理上传?它是什么样子的?如何读取上传文件的对象名称?

我在 docs 中查看了关于它的简介,但那里确实没有任何代码解释如何做到这一点。

注意:我使用的是云端点,但应该类似。

【问题讨论】:

    标签: google-app-engine google-cloud-storage google-cloud-endpoints blobstore


    【解决方案1】:

    您需要创建一个映射到“/blob”处理程序的 servlet。像这样的:

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
        Map<String, List<FileInfo>> files = blobstoreService.getFileInfos(request);
        List<FileInfo> info = files.get("uploadFormElement");
    
        for (FileInfo i : info) {
            if (i != null) {
                String objectName = i.getGsObjectName();
                long size = i.getSize());
                // if you want to return object name to the client:
                resp.getWriter().print(objectName);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2017-11-29
      相关资源
      最近更新 更多