python学习笔记——flask之上传下载文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python学习笔记——flask之上传下载文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2315字,纯文字阅读大概需要4分钟。
内容图文
request.files['pic']中的pic是属性不是文件名
文件上传
一、普通方式
1.request中获取文件对象
2.读取数据,再写入到服务器文件中。
# coding:utf-8
from flask import Flask,request
app = Flask(__name__)
@app.route('/upload',methods=['POST']) #上传文件
def upload():
file_open = request.files['pic']#从请求里 获取打开的文件
if file_open == None:
return '上传错误'
#读取数据
date = file_open.read()
#写入数据
save_file = open('1.png','wb')#新建一个文件,准备保存数据
save_file.write(date)
#关闭文件
file_open.close()
return '已上传成功'
# 运行程序
if __name__ == '__main__':
print(app.url_map)#查看所有的路由信息
app.run(host='0.0.0.0',port=80,debug=True) # 通过run()函数将web应用部署到web服务器并启动服务
二、简洁方式
使用 save('xxx.png')方法保存数据
# coding:utf-8
from flask import Flask,request
app = Flask(__name__)
@app.route('/upload',methods=['POST']) #上传文件
def upload():
file_open = request.files['pic']#从请求里 获取打开的文件
if file_open == None:
return '上传错误'
file_open.save('2.png')
return '已上传成功'
# 运行程序
if __name__ == '__main__':
print(app.url_map)#查看所有的路由信息
app.run(host='0.0.0.0',port=80,debug=True) # 通过run()函数将web应用部署到web服务器并启动服务
文件下载
一、简洁方式
1.导入send_from_directory
2.返回 send_from_directory(r'E:\pythonTest\flask',filename='1.png', as_attachment=True)
注意方法里第一个参数的格式
文件路径为:E:\pythonTest\flask\1.png
# coding:utf-8
from flask import Flask,request,send_from_directory
app = Flask(__name__)
@app.route('/download') #上传文件
def download():
return send_from_directory(r'E:\pythonTest\flask',filename='1.png', as_attachment=True)
# 运行程序
if __name__ == '__main__':
print(app.url_map)#查看所有的路由信息
app.run(host='0.0.0.0',port=80,debug=True) # 通过run()函数将web应用部署到web服务器并启动服务
二、模拟http响应
导入make_response
# coding:utf-8
from flask import Flask,make_response
app = Flask(__name__)
@app.route('/download') #上传文件
def download():
# 1. 二进制打开文件
file = open('1.png','rb')
# 2. 使用make_response 来构造响应信息
resp = make_response(file.read()) # 响应体数据
resp.status = "200" # 状态码
resp.headers["Content-Type"] = "image/png" # 通过字典的形式添加响应头
return resp
# 运行程序
if __name__ == '__main__':
print(app.url_map)#查看所有的路由信息
app.run(host='0.0.0.0',port=80,debug=True) # 通过run()函数将web应用部署到web服务器并启动服务
内容总结
以上是互联网集市为您收集整理的python学习笔记——flask之上传下载文件全部内容,希望文章能够帮你解决python学习笔记——flask之上传下载文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。