Ordner und Dateien hochladen mit Kolben

Kann ich eine Datei hochladen mit Kolben, indem Sie die folgenden Hochladen Von Dateien:

  1. Eine <form> tag ist markiert mit enctype=multipart/form-data und ein <input type=file> platziert ist, in dieser form.
  2. Greift die Anwendung auf die Datei aus dem files-Wörterbuch auf das request-Objekt.
  3. Verwenden Sie die save() - Methode der Datei zum speichern der Datei dauerhaft irgendwo auf dem Dateisystem.

Aber ich weiß nicht, wie hochladen, Ordner oder einzelne Dateien. Ich suchte, und ich fand Hochladen von mehreren Dateien mit Flask.

Aber noch weiß ich nicht, wie hoch ein Ordner und die Dateien gehören in den Ordner.

Könnten Sie mir bitte sagen, wie?


Verzeichnisbaum, in dem ich arbeite:

.
├── manage.py
├── templates
   ├── file_upload.html
   └── hello.html
└── uploads
    ├── BX6dKK7CUAAakzh.jpg
    └── sample.txt

Source-code der Datei Upload:

from flask import Flask,abort,render_template,request,redirect,url_for
from werkzeug import secure_filename
import os
app = Flask(__name__)
UPLOAD_FOLDER = './uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER 
@app.route('/')
def index():
    return redirect(url_for('hello'))

@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name = None):
    return render_template('hello.html',name=name)

@app.route('/upload/',methods = ['GET','POST'])
def upload_file():
    if request.method =='POST':
        file = request.files['file']
        if file:
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
            return hello()
    return render_template('file_upload.html')


if __name__ == '__main__':
    app.run(debug = True)

Vorlage für den Datei-Upload(manage.py):

<!doctype html>
<title>Upload new File</title>
<h1>Upload new File</h1>
<form action='' method="POST" enctype="multipart/form-data">
    <p><input type='file' name='file[]' multiple=''>
    <input type='submit' value='upload'>
    </p>

</form>
  • Haben Sie Lesen Sie diese Frage? Erinnern Sie sich, wie das HTML-Formular angezeigt wird und wie der Benutzer mit ihm interagiert, sind alle abhängig von dem browser, die Holen sich Ihre Tipps von HTML. Flask bietet einige Abstraktion über HTTP, aber Sie müssen noch zu verstehen, HTML zu verwenden, ist es gut.
  • Danke!!! es hilft ! Nun, ich verstehe: ich kann es auf Chrom, andere aber nicht.
  • wenn Sie Antworten, wie Sie kommentierte, ich kann tag es als Antwort
  • Mein Kommentar war nicht wirklich eine Antwort, aber es scheint, haben Sie genug Informationen, um zu helfen Sie lösen das problem selbst, richtig? Wenn dem so ist, sollten Sie schreiben Sie Ihre eigene Antwort und akzeptieren es.
  • Ja, es Tat helfen! Ich wusste nicht, ich kann die Antwort auf meine Frage. danke!!!
  • Bitte Antworten in der Antwort blockiert. Später können Sie annehmen, Ihre eigene Antwort. Siehe auch Wie funktioniert der Annahme eine Antwort zu arbeiten?

InformationsquelleAutor SamuraiT | 2013-11-11
Schreibe einen Kommentar