繁体   English   中英

从Google Cloud Storage Java API上传Firebase存储

[英]firebase storage upload from google cloud storage java api

我有一个Firebase帐户,我想以编程方式将一些照片上传到Firebase存储。 为此,我正在使用Google Cloud Java Storage API。 我配置权限和其他。 我可以成功创建存储桶,blob。 但是,当我尝试上传图片时,其大小为0或无法下载(未生成URL)。 我使用的代码如下;

        Storage storage = StorageOptions.newBuilder().setProjectId("firebaseId")
                .setCredentials(ServiceAccountCredentials.fromStream(new FileInputStream("jsonFileFor Authentication")))
                .build()
                .getService();
        String blobName = "a.jpg";
        BlobId blobId = BlobId.of(bucket.getName(), blobName);
        InputStream inputStream = new FileInputStream(new File("a.jpg"));
        //BlobInfo blobInfo = BlobInfo.builder(blobId).contentType("image/jpeg").build();
        BlobInfo blobInfo = BlobInfo.builder(bucket.getName(), "a.jpg").contentType("image/jpeg").build();

    try (WriteChannel writer = storage.writer(blobInfo)) {
        byte[] buffer = new byte[1024];
        int limit;
        try {
            while ((limit = inputStream.read(buffer)) >= 0) {
                writer.write(ByteBuffer.wrap(buffer, 0, limit));
            }

        } catch (Exception ex) {
            // handle exception
        }finally {
            writer.close();
        }
    }

任何建议表示赞赏。 问候。

该代码正在运行。 问题与许可有关。 您需要将Google存储空间所有者ID设置为Firebase存储桶所有者。 然后,您可以写入Firebase存储桶。 万一有人从Google Storage Java API搜索编写Firebase存储的情况,我不会删除该帖子。

问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM