[英]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.