相关疑难解决方法(0)

打开文件对象的大小

有没有办法找到当前打开的文件对象的大小?

具体来说,我正在使用tarfile模块来创建tarfiles,但我不希望我的tarfile超过一定的大小.据我所知,tarfile对象是类文件对象,所以我想通用解决方案是可行的.

python

54
推荐指数
3
解决办法
5万
查看次数

使用 Flask-Uploads 拒绝超过一定数量的文件?

Flask 推荐使用 Flask-Uploads 模块来处理上传。我想拒绝任何超过特定大小的文件。有几种解决方案:

从文档

此外,您还可以使用 patch_request_class 来修补应用的 request_class 以具有最大上传大小。

patch_request_class(app, 32 * 1024 * 1024)
Run Code Online (Sandbox Code Playgroud)

从这个 SO 帖子

MAX_CONTENT_LENGTH 是拒绝大于您想要的文件上传的正确方法,

app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024

# save to disk first, then check filesize
request.files['file'].save('/tmp/foo')
size = os.stat('/tmp/foo').st_size
Run Code Online (Sandbox Code Playgroud)

-或者-

# save to memory, then check filesize
blob = request.files['file'].read()
size = len(blob)
Run Code Online (Sandbox Code Playgroud)

MAX_CONTENT_LENGTH在官方文档中没有看到提到,它甚至没有像 SO 帖子那样手动检查文件大小。这两种方法最终是否相同,还是存在(大/微妙?)差异?另外,是patch_request_class先将文件保存到磁盘以确定总上传大小,还是保存到内存中?

python file-upload flask flask-uploads

6
推荐指数
1
解决办法
6527
查看次数

标签 统计

python ×2

file-upload ×1

flask ×1

flask-uploads ×1