Skip to content

Commit 4209b39

Browse files
authored
Add files via upload
1 parent af07532 commit 4209b39

4 files changed

Lines changed: 66 additions & 0 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from flask import Flask
2+
3+
UPLOAD_FOLDER = 'C:/py'
4+
5+
app = Flask(__name__)
6+
app.secret_key = "secret key"
7+
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
8+
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import os
2+
#import magic
3+
import urllib.request
4+
from app import app
5+
from flask import Flask, flash, request, redirect, render_template
6+
from werkzeug.utils import secure_filename
7+
8+
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
9+
10+
def allowed_file(filename):
11+
return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
12+
13+
@app.route('/')
14+
def upload_form():
15+
return render_template('upload.html')
16+
17+
@app.route('/', methods=['POST'])
18+
def upload_file():
19+
if request.method == 'POST':
20+
# check if the post request has the files part
21+
if 'files[]' not in request.files:
22+
flash('No file part')
23+
return redirect(request.url)
24+
files = request.files.getlist('files[]')
25+
for file in files:
26+
if file and allowed_file(file.filename):
27+
filename = secure_filename(file.filename)
28+
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
29+
flash('File(s) successfully uploaded')
30+
return redirect('/')
31+
32+
if __name__ == "__main__":
33+
app.run()
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
You can go through the tutorial https://www.roytuts.com/python-flask-multiple-files-upload-example/(opens in a new tab)
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!doctype html>
2+
<title>Python Flask Multiple Files Upload Example</title>
3+
<h2>Select file(s) to upload</h2>
4+
<p>
5+
{% with messages = get_flashed_messages() %}
6+
{% if messages %}
7+
<ul class=flashes>
8+
{% for message in messages %}
9+
<li>{{ message }}</li>
10+
{% endfor %}
11+
</ul>
12+
{% endif %}
13+
{% endwith %}
14+
</p>
15+
<form method="post" action="/" enctype="multipart/form-data">
16+
<dl>
17+
<p>
18+
<input type="file" name="files[]" multiple="true" autocomplete="off" required>
19+
</p>
20+
</dl>
21+
<p>
22+
<input type="submit" value="Submit">
23+
</p>
24+
</form>

0 commit comments

Comments
 (0)