python – Flask:获取request.files对象的大小
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Flask:获取request.files对象的大小,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1012字,纯文字阅读大概需要2分钟。
内容图文
![python – Flask:获取request.files对象的大小](/upload/InfoBanner/zyjiaocheng/710/de978379432d404e8a7a24be8bb59bcc.jpg)
我想获取上传图像的大小来控制它是否大于最大文件上传限制.我试过这个:
@app.route("/new/photo",methods=["POST"])
def newPhoto():
form_photo = request.files['post-photo']
print form_photo.content_length
它打印0我在哪里做错了?我应该从它的临时路径中找到这个图像的大小吗? Python中没有PHP的$_FILES [‘foo’] [‘size’]吗?
解决方法:
这里有一些需要注意的事项 – content_length属性将是浏览器报告的文件上传的内容长度,但不幸的是很多浏览器都没有发送,如docs和source所述.
至于你的TypeError,接下来要注意的是500KB以下的文件上传作为StringIO object存储在内存中,而不是假脱机到磁盘(再次查看那些文档),因此你的stat调用将失败.
MAX_CONTENT_LENGTH是拒绝大于你想要的文件上传的正确方法,如果你需要它,确定数据长度的唯一可靠方法是在你处理完上传后找出它 – 在你之后统计文件’ve .save()d:
request.files['file'].save('/tmp/foo')
size = os.stat('/tmp/foo').st_size
或者,如果您没有使用磁盘(例如将其存储在数据库中),请计算您读取的字节数:
blob = request.files['file'].read()
size = len(blob)
虽然MAX_CONTENT_LENGTH非常大,但显然要小心,不要将太多数据读入内存
内容总结
以上是互联网集市为您收集整理的python – Flask:获取request.files对象的大小全部内容,希望文章能够帮你解决python – Flask:获取request.files对象的大小所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。