Ich habe ein Firebase-Konto und ich möchte einige Fotos programmgesteuert auf Firebase-Speicher hochladen. Um dies zu tun, verwende ich die Google Cloud Java Storage API. Ich konfiguriere die Erlaubnis und andere. Ich kann Eimer, Blobs erfolgreich erstellen. Wenn ich jedoch versucht habe, ein Bild hochzuladen, ist die Größe entweder 0 oder es kann nicht heruntergeladen werden (URL wird nicht generiert). Der Code, den ich verwende, ist unten;Firebase-Speicher-Upload von Google Cloud-Speicher 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();
}
}
Jede Beratung wird geschätzt. Grüße.