import sys reload(sys) sys.setdefaultencoding("utf-8") import os from flask import Flask,url_for,render_template,request,url_for,redirect,send_from_directory from werkzeug import secure_filename UPLOAD_FOLDER='/home/alvy/' ALLOWED_EXTENSIONS=set(['txt','pdf','png','jpg','jpeg','gif']) app=Flask(__name__) app.config['UPLOAD_FOLDER']=UPLOAD_FOLDER def allowed_file(filename): return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS @app.route('/',methods=['GET','POST']) def upload_file(): if request.method=='POST': file=request.files['file'] if file and allowed_file(file.filename): filename=secure_filename(file.filename) file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename)) return redirect(url_for('upload_file')) return ''' <!DOCTYPE html> <title>upload new file</title> <h1>upload file</h1> <form action="/" method="POST" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit" value="upload" /> </form> ''' @app.route('/uploads/<filename>') def uploaded_file(filename): return send_from_directory(app.config['UPLOAD_FOLDER'],filename)