firebaseアカウントを持っており、プログラムによってfirebaseストレージにいくつかの写真をアップロードしたいと思います。これを行うには、Google Cloud JavaストレージAPIを使用しています。私は許可などを設定します。私はうまくバケツ、ブロブを作成することができます。しかし、画像をアップロードしようとすると、サイズが0か、ダウンロードできない(URLは生成されません)。私が使用するコードは以下の通りです。firebase storage Google googleクラウドストレージからのアップロードjava api
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();
}
}
アドバイスをいただければ幸いです。よろしくです。 よろしくお願いします。