Flask -- 请求、上传文件、Cookies
请求对象
from flask import request request.method #值为form表单提交的method 'POST'、 'GET'等 #如果值为'POST'或'PUT',则可以通过reques.form['xxx']来访问表单数据,'xxx'来自<input name='xxx'>
上传文件
impor os from flask import Flask, render_template, request, url_for, redirect from werzegug import sercure_filename app = Flask(__name__) UPLOAD_FOLDER = 'C:\User\Zoro\Uploads' #服务器上的任意目录 '/var/www/uploads' ALLOWED_EXTENSIONS = set(['txt', 'jpg', 'png', 'jpeg', 'gif', 'pdf']) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS @app.route('/upload', 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)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
return redirect(url_for('uploaded_file', filename=filename)) #重定向到uploaded_file函数
return '''
<!doctype html>
<form action="" method=post enctype=multipart/from-data>
<input type=file name=file>
<input type=submit value=Upload>
</form>
''' @app.route('/upload/<filename>')
def uploaded_file(filename):
return render_template('upload_ok.html', filename=filename)
Cookies
你可以通过 cookies 属性来访问 Cookies,用响应对象的 set_cookie 方法来设置 Cookies。请求对象的 cookies 属性是一个内容为客户端提交的所有 Cookies 的字典
#读取 cookies:
from flask import request @app.route('/')
def index():
username = request.cookies.get('username')
# use cookies.get(key) instead of cookies[key] to not get a
# KeyError if the cookie is missing. #存储cookies
from flask import make_response @app.route('/')
def index():
resp = make_response(render_template(...))
resp.set_cookie('username', 'the username')
return resp 可注意到的是,Cookies 是设置在响应对象上的。由于通常视图函数只是返回字符串,之后 Flask 将字符串转换为响应对象。如果你要显式地转换,你可以使用 make_response()函数然后再进行修改。
Flask -- 请求、上传文件、Cookies的更多相关文章
- SpringMVC实现PUT请求上传文件
在JQuery中,我们可以进行REST ful中delete和put的请求,但是在java EE标准中,默认只有在POST请求的时候,servlet 才会通过getparameter()方法取得请求体 ...
- Postman Post请求上传文件
Postman Post请求上传文件一.选择post请求方式,输入请求地址 二.填写Headers Key:Content-Type :Value:multipart/form-data 如下图 三. ...
- SSM框架下,使用ajax请求上传文件(doc\docx\excel\图片等)
1.准备工作 1.1.添加上传必要jar包 <dependency> <groupId>commons-io</groupId> <artifactId> ...
- flask控制上传文件的大小
1.flask控制上传文件的大小的方案是全局控制:http://docs.jinkan.org/docs/flask/patterns/fileuploads.html from flask impo ...
- python中使用multipart/form-data请求上传文件
最近测试的接口是上传文件的接口,上传单个文件,我主要使用了2种方法~ 接口例如: URL: http://www.baidu.com/*** method:post 参数: { "salar ...
- element-ui上传组件,通过自定义请求上传文件
记录使用element-ui上传组件,通过自定义请求上传文件需要注意的地方. <el-upload ref="uploadMutiple" :auto-upload=&quo ...
- JAVA模拟HTTP post请求上传文件
在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较 ...
- upload三种上传方式(上)---Servlet---post---commons-fileupload.1.2.1.jar方式请求上传文件
上传前进行的配置选项: 1.在下方的Servers中,右键你的tomcat--open,选中下面两个配置. 第一个:Serve modules without publishing 作用:tomcat ...
- Ajax+Python flask实现上传文件功能
HTML: <div > <input type="file" name="FileUpload" id="FileUpload&q ...
- 通过PHP CURL模拟请求上传文件|图片。
现在有一个需求就是在自己的服务器上传图片到其他服务器上面,过程:客户端上传图片->存放到本地服务器->再转发到第三方服务器; 由于前端Ajax受限制,只能通过服务器做转发了. 在PHP中通 ...
随机推荐
- .a与.framework的区别
库是共享程序代码的方式,一般分为静态库和动态库. 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. iOS中静态库形式: .a和.framework 动态库:链接时不复制,程序运行 ...
- 什么是Bash Shell的内建(build in)命令
1.什么是build in命令: shell内建命令是指bash(或其它版本)工具集中的命令.一般都会有一个与之同名的系统命令,比如bash中的echo命令与/bin/echo是两个不同的命令,尽管他 ...
- php 问答
1,如何设置长生命期的session ? 将 session.cookie_lifetime ,session.gc_maxlifetime 的时间设置长一点. 2,为什么初始化session的时候报 ...
- wall time
"showing elapsed time and wall clock time correspondingly." what's difference between elap ...
- MVC视图路径修改方法
http://wenku.baidu.com/link?url=MwAaKgGevU7hfRuTyCL95ZbJuDsNc4b__jEWisY9GuzAJzEUgEdoj7uQ-wurbYtz1IQj ...
- 异步设备IO:OVERLAPPED和IOCompletionPort
异步设备IO:OVERLAPPED和IOCompletionPort 本文内容为<windows核心编程>第10章内容的总结,仅记录一些本人感兴趣的内容. 1:OVERLAPPED &qu ...
- Trie树(字典树)
传送门:http://hihocoder.com/problemset/problem/1014 #1014 : Trie树 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描 ...
- Ubuntu Git服务器搭建
1.安装git和ssh工具 apt-get install git-core openssh-server openssh-client 2.添加用户名为git的用户 useradd -m git 3 ...
- openstack私有云布署实践【6 RabbitMQ】
生产环境建议在集群三台controller上做rabbitmq 使用到队列的openstack组件 OpenStack Compute OpenStack Block Storage OpenStac ...
- MySQL的保留字查询
ADD ALL ALTER ANALYZE AND AS ASC AUTO_INCREMENT BDB BEFORE BERKELEYDB BETWEEN BIGINT BINARY BLOB BOT ...