# coding:utf-8 from flask import Flask,render_template,request,redirect,url_for from werkzeug.utils import secure_filename import os app = Flask(__name__) @app.route('/test/upload') def upload_test(): return render_template('upload2.html') @app.route('/api/upload', methods=['POST'], strict_slashes=False) #@app.route('/api/upload', methods=['POST', 'GET']) def upload(): print "req", request #if request.method == 'POST': f = request.files['file'] basepath = os.path.dirname(__file__) # 当前文件所在路径 upload_path = os.path.join(basepath, 'static\uploads',secure_filename(f.filename)) #注意:没有的文件夹一定要先创建,不然会提示没有该路径 f.save(upload_path) return redirect(url_for('upload')) #return render_template('upload2.html') if __name__ == '__main__':
app.run(debug=True)
upload2.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form id="form1" method="post" action="/api/upload" enctype="multipart/form-data"> <div> <input id="File1" type="file" name="file"/> <!--后台代码中获取文件是通过form的name来标识的--> <input type="submit">提交</input> </div> <p> <a href="http://127.0.0.1:8888/download/3.txt" download="33.txt">Download file</a> </p> </form> </body> </html>