上传大小限制(以字节为单位)(django)

时间:2015-01-14 11:57:15

标签: python django byte

我正在测试表单中的cleaned_data['content'].size > MAX_SIZE以验证上传大小。

当谷歌搜索如何检查Django上传的长度时,我遇到了几个地方(下面的链接),人们正在使用某种格式(看似基于2的功能)以字节表示MB。

我想一定有充分的理由。

为什么要使用这样的格式?你如何计算下面的数值? (摘自链接的SO问题)

# 2.5MB - 2621440
# 5MB - 5242880
# 10MB - 10485760
# 20MB - 20971520
# 50MB - 5242880
# 100MB 104857600
# 250MB - 214958080
# 500MB - 429916160

Django File upload size limit
https://djangosnippets.org/snippets/1303/
https://django-filebrowser.readthedocs.org/en/3.5.2/settings.html

1 个答案:

答案 0 :(得分:1)

只是因为一个千字节是1024字节...带有字节'圆形数'是2的幂而不是10

严格来说1024字节是“kibibyte”,根据SI单位,“千字节”是1000字节,就像千克一样是1000克

但Windows等操作系统倾向于使用以前的定义

例如,如果您想将上传大小限制为2MB,则应使用2 * 2**20(或2 x 1024**2

n MB的一般表单为n * 1024**2

http://en.wikipedia.org/wiki/Megabyte#Definitions