2017-12-06 7 views
2

Ich versuche, ein benutzerdefiniertes Bild in meine Firebase hochzuladen.Python Flask Hochladen von Dateien

Als ich nach der Datei suche

file = request.files['inputFile'] 

und ich versuche, diesen

storage.child("images/examples.jpg").put(file) 

Ich erhalte einen Fehler

io.UnsupportedOperation: fileno 

Wie gehe ich über diese Fixierung? Ich möchte nur Benutzer die Datei auswählen und ich kann die JPG-Datei verwenden und hochladen

Antwort

0

Die put-Methode nimmt einen Pfad zu einer lokalen Datei (und einem optionalen Benutzer Token).

request.files[key] gibt ein benutzerdefiniertes Objekt zurück, das die hochgeladene Datei darstellt. Flaschendokumentationslinks: file uploads quickstart, incoming request data api, FileStorage class.

Sie müssen die hochgeladene Datei Daten in einer lokalen Datei speichern, und der Pass, die Namen der put Methode file:

request.files['inputFile'].save("some_filename.ext") 
storage.child("images/examples.jpg").put("some_filename.ext") 

Blick in die tempfile Modul zufällige temporäre Dateinamen zu erzeugen (anstelle der Verwendung die hartcodierte some_filename.ext, die offensichtlich ist keine sehr gute Idee mit gleichzeitigen Anfragen).