from flask import request
就是 Flask 中表示当前请求的 request 对象, request 对象中保存了一次 HTTP 请求的一切信息.
上传文件
已上传的文件存储在内存或是文件系统中一个临时的位置. 你可以通过请求对象的 files 属性访问它们. 每个上传的文件都会存储在这个字典里. 它表现近乎为一个标准的 Python file 对象, 但它还有一个 save() 方法, 这个方法允许你把文件保存到服务器的文件系统上. 这里是一个用它保存文件的例子:
- from flask import request
- @App.route('/upload', methods=['GET', 'POST'])
- def upload_file():
- if request.method == 'POST':
- f = request.files['the_file']
- f.save('/var/www/uploads/uploaded_file.txt')
- ...
如果你想知道上传前文件在客户端的文件名是什么, 你可以访问 filename 属性. 但请记住, 永远不要信任这个值, 这个值是可以伪造的. 如果你要把文件按客户端提供的文件名存储在服务器上, 那么请把它传递给 Werkzeug 提供的 secure_filename() 函数:
- from flask import request
- from werkzeug import secure_filename
- @App.route('/upload', methods=['GET', 'POST'])
- def upload_file():
- if request.method == 'POST':
- f = request.files['the_file']
- f.save('/var/www/uploads/' + secure_filename(f.filename))
- ...
来源: http://www.bubuko.com/infodetail-3087929.html