Kod:Firebase Przechowywanie/Bucket przesyłanie publicznych z node.js
var storage = require('@google-cloud/storage');
var gcs = storage({
projectId: config.google.projectId,
keyFilename: config.google.keyFilenameFirebase
});
var bucket = gcs.bucket('project-id.appspot.com');
var destination = 'uploads/12345/full.jpg';
bucket.upload(myFile, { public: true, destination: destination }, function(err, file) {
if (err) {
console.log(err);
}
});
Mój plik został pomyślnie przesłany do mojego Firebase przechowywania, ale:
- Plik jest teraz publicznie dostępne za pośrednictwem adresu URL: https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg. Czy mogę użyć tego stałego adresu URL w mojej aplikacji lub jest prawdopodobne, że zmieni się lub wygaśnie?
public: true
wydaje się przełamać Firebase Storage UI:
podgląd obrazu po prawej stronie nie jest widoczna i jestem w stanie pobrać obraz za pomocą przycisku pobierania. Ponadto, brak jest pobieranie url (co nie przeszkadza, bo mogę do niego dostęp za pośrednictwem linku powyżej) i po kliknięciu „Utwórz nowy plik URL” Firebase daje
Błąd pobierania generujący URL
Po usunięciu public: true
podgląd jest wyświetlany poprawnie i mogę również wygenerować adres URL do pobrania. Ale publiczny adres URL https://storage.googleapis.com/project-id.appspot.com/uploads/12345/full.jpg nie będzie już działał, co jest mi niezbędne.
Tak więc moim planem jest pozostać przy public: true
, ale nadal mnie to niepokoi, że przycisk podglądu/pobierania nie działa i wygląda na to, że mam w Firebase błąd. Czy ktoś może to potwierdzić?
jestem już w kontakcie z Firebase tech zespołu. – Chris