Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 通过GCS提供文件时找不到blob错误_Google App Engine_Servlets_Google Cloud Storage - Fatal编程技术网

Google app engine 通过GCS提供文件时找不到blob错误

Google app engine 通过GCS提供文件时找不到blob错误,google-app-engine,servlets,google-cloud-storage,Google App Engine,Servlets,Google Cloud Storage,我试图通过Blob提供zip文件,存储在GCS中。但是我得到了这个错误“严重:找不到blob:BlobKey:encoded\u gs\u key:XYZ” 我还尝试了此链接中的给定代码,以确保我在对象上具有正确的ACL,并且我能够成功运行此代码: 帮帮我!!感谢您的帮助 此错误仅在开发服务器中发生。目前不支持在Java devappserver中提供存储在云存储中的Blob。@SebastianKreft您能告诉我实现同样目的的其他方法吗。我所需要做的就是读取GCS中的zip文件并将其发送到我

我试图通过Blob提供zip文件,存储在GCS中。但是我得到了这个错误“严重:找不到blob:BlobKey:encoded\u gs\u key:XYZ”

我还尝试了此链接中的给定代码,以确保我在对象上具有正确的ACL,并且我能够成功运行此代码:


帮帮我!!感谢您的帮助

此错误仅在开发服务器中发生。目前不支持在Java devappserver中提供存储在云存储中的Blob。@SebastianKreft您能告诉我实现同样目的的其他方法吗。我所需要做的就是读取GCS中的zip文件并将其发送到我的android应用程序。谢谢!!从Clous存储中提供BLOB在生产中确实有效。它不在devappserver中。如果您仍然需要它在devappserver中工作,您可以使用GCS客户端。请参见示例。@SebastianKreft很抱歉再次打扰您,但我以前尝试过该代码,但总是出现以下错误:“没有这样的文件:GcsFilename(“myBucketName”、“myzipfile.zip”)”…我再次尝试使用您发送的示例,但我得到了相同的错误..仅供参考:我硬编码了bucketname和文件名,而不是从httpRequest中提取..这次您能帮我一下吗..谢谢我很抱歉..我被“生产”这个词弄糊涂了…我将我的脚本部署并运行到应用程序引擎,它确实起了作用..非常感谢您的耐心和支持..!!:))
  java.io.PrintWriter out = resp.getWriter( );

    out.println("before");

    try{
                GcsFilename fileName = getFileName();
                BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
                out.println("after");
                BlobKey blobKey = blobstoreService.createGsBlobKey(
                    "/gs/"+ fileName.getBucketName() + "/" + fileName.getObjectName());
                out.println("before");
                out.println(blobKey);
                blobstoreService.serve(blobKey, resp);
    }
    catch(Exception e){

         out.println(e.getMessage());

    }
           resp.setContentType("application/zip");
           resp.getWriter().println("Hello, world Blob");


}

private GcsFilename getFileName() {

    String bucketname = "androidbucket";
    String filename = "test.zip";
    return new GcsFilename(bucketname, filename);
  }