2017-10-27 5 views
1

Was ist der beste Weg, um viele Bilder auf den Server hochzuladen und sie auf dem Server zu speichern?Wie lade ich Bilder mit bottle.py hoch?

habe ich versucht, Dateien von der Form zu erhalten, die wie folgt aussieht:

<form action="/upload" method="post"> 
    <div class="form-group"> 
     <label for="gallery">Select images:</label> 
     <input id="gallery" type="file" name="gallery" accept=".gif,.jpg,.jpeg,.png" multiple> 
    </div> 
    <button type="submit" class="btn btn-default">Submit</button> 
</form> 

Und der Controller sieht wie folgt aus:

@route('/upload', method='POST') 
def newGallery(): 
    pictures = request.files.getall('gallery') 
    for picture in pictures: 
     picture.save("path/to/directory",overwrite=True) 

return template('new.html', info) 

Aber anscheinend hat es nicht funktioniert und „request.files. getall ('gallery') "gibt null zurück.

Ich habe auch die "bottle.request.forms.getall ('gallery')" verwendet, aber diese gibt nur die Dateinamen zurück, nicht die Dateiströme.

Irgendwelche Gedanken dazu?

Antwort

1

für meine persönliche Flasche Projekt, ich verwendete Open Source plupload JS-Bibliothek auf der Client-Seite und machte eine kleine Verpackung für die Flasche.

Man könnte es installieren:

pip install plupload 

Und dann verwenden:

@post('/upload') 
def index(): 
    from plupload import plupload 
    return plupload.save(request.forms, request.files, os.getcwd()) 

Werfen Sie einen Blick auf https://github.com/JonathanHuot/bottlepy-plupload für weiteres Beispiel.

Verwandte Themen