ich das Bild herunterladen möchten, und es um die Lagerung zu sparen, wenn meine Datenbank mit dem ‚PHOTO_URL‘ FeldDatenbank löst Feuerbasis Funktion Bilder von URL herunterzuladen und zu Speicher speichern
exports.saveToStorage = functions.database.ref(`/images/${itemImageRef}`)
.onWrite(event => {
const filePath = event.data.val();
const filename = filePath.split('/').pop();
var download = request.get(filePath).on('error', (err) => {
console.log(err)
})
.pipe(fs.createWriteStream(filename));
download.on('finish',() => {
const bucket = gcs.bucket('id.appspot.com');
const storagePath = `images/${filename}`;
return bucket.upload(download, { destination: storagePath })
.then(() => {
console.log('success upload');
});
});
});
es „Fehler protokolliert wird aktualisiert : EROFS: schreibgeschütztes Dateisystem, öffne 'image.jpg' bei Error (nativ). " Ich nehme an, dass ich die von createWriteStream gespeicherte Datei nicht abrufen kann? Also, wie soll ich Bilder aus dem Internet herunterladen?
Vielleicht würde Ihnen das helfen: https://stackoverflow.com/q/43698405/3366109 – Jobsamuel
danke, aber ich habe meinen Plan aktualisiert, so dass es in der Lage sein sollte, eine externe Anfrage zu machen. –
@Jobsamuel, ich habe die Lösung übersehen, der Code hilft, kann ich jetzt die Daten zu Firebase-Speicher, die den Schritt zum Speichern von Datei 'lokal' mit fs in meinem ursprünglichen Ansatz übergibt. Die Firebase-Funktionen können nun die Datei im Speicher speichern, erkennen jedoch immer noch nicht, dass es sich um ein Bild handelt. Vielleicht muss ich die Einstellung in metadata contentType ändern. –