How to upload multiple files with python flask – EasyDevGuide.com

How to upload multiple files with python flask¶

To upload multiple files, both frontend and backend are involved.

Frontend html¶

Aussume that the url /upload handles uploading.

<form method="post" action="/upload" enctype="multipart/form-data">    <input multiple id="file" type="file" name="files"/>    <input type="submit"/></form>

Things you should notice about the html form above:

  • enctype attribute of form must be multipart/form-data.
  • The file input element must have a multiple attribute so that multiple files can be uploaded in one time.

Backend flask¶

import osfrom flask import request, redirectfrom werkzeug.utils import [email protected]('/upload', methods=('POST',))def upload():    files = request.files.getlist('files')    for file in files:        fn = secure_filename(file.filename)        file.save(os.path.join(FILES_DIR, fn))  # replace FILES_DIR with your own directory    return redirect('/')  # change to redirect to your own url

Things you should notice about the flask code above:

  • methods must include POST
  • To get files, you must use request.files.getlist('files') instead of request.files['files'], because the latter is only used when uploading a single file.
  • use secure_filename to prevent malicious file name.

Drag and Drop to upload¶

Please refer to Upload multiple files using “drag and drop” with html5 and flask.

Xổ số miền Bắc