首页 文章

INVALID_BLOB_KEY使用java从Google Cloud 端存储中检索图像

提问于
浏览
3

我正在尝试使用Google Cloud存储来存储我将在jsp文件中使用的图像 . 我已经创建了存储桶,上传了一个图像(用于测试目的),并尝试从java类中检索一个Url . 我一直收到错误消息

HTTP ERROR 500

Problem accessing /. Reason:

INVALID_BLOB_KEY: Could not read blob.
Caused by:

java.lang.IllegalArgumentException: INVALID_BLOB_KEY: Could not read blob.
at 
com.google.appengine.api.images.ImagesServiceImpl.getServingUrl(ImagesServiceImpl.java:282)

我创建的Bucket

The Bucket I created

我用来检索Url的代码(BUCKETNAME是一个带有桶名称的静态字符串)

public static String getImageURL(String inFilename) {
    String key = "/gs/" + BUCKETNAME + "/" + inFilename;
    ImagesService imagesService = ImagesServiceFactory.getImagesService();
    ServingUrlOptions options =     ServingUrlOptions.Builder.withGoogleStorageFileName(key);
    String servingUrl = imagesService.getServingUrl(options);

    return servingUrl;
}

我试图将图像公之于众,但这并没有帮助 . 我在这里看了很多答案,但我有点失落 . 任何帮助,将不胜感激

1 回答

  • 1

    我也遇到了同样的问题 . 对于未来的人,请确保您公开了这个桶 . 通过相同的方法,您还可以为图像生成缩略图和安全网址

    public static String getImageURL(String inFilename) {
        String key = "/gs/" + BUCKETNAME + "/" + inFilename;
        ImagesService imagesService = ImagesServiceFactory.getImagesService();
        ServingUrlOptions options = ServingUrlOptions.Builder  
               .withGoogleStorageFileName(key).imageSize(150).secureUrl(true);
        String servingUrl = imagesService.getServingUrl(options);
    
        return servingUrl;
    }
    

相关问题