-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
26 lines (23 loc) · 1.23 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from flask import Flask,render_template,request,redirect,url_for,abort
from werkzeug.utils import secure_filename # helps to convert bad file name into a secure filename
import os
app=Flask(__name__)
app.config['max_CONTENT_LENGTH'] = 1024 * 1024 *2
app.config['UPLOAD_EXTENSIONS'] = ['.jpg','.png','.gif','.jpeg']
app.config['UPLOAD_PATH']='uploads'
@app.route('/')
def index():
return render_template('upload.html')
@app.route('/',methods=['POST'])
def upload_file():
uploaded_file=request.files.get('file') #we getting the file from form
filename = secure_filename(uploaded_file.filename) #clean the file name and store the varriable
if filename != '': # if the filename is not empty
file_ext = os.path.splitext(filename)[1] #get the extension from the file name ex. abc.png['abc', 'png']
if file_ext not in app.config['UPLOAD_EXTENSIONS']: # if extension is not valid
abort(400) # then stop the execution else
path=os.path.join(app.config['UPLOAD_PATH'],filename) # make os compatible path string
uploaded_file.save(path) # then save the file with original name
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)