如何限制上傳到Archetypes FileField的文件的大小?設置最大。上傳文件大小FileField
回答
ATContentTypes registeres一個checkFileMaxSize
驗證:
from Products.validation.config import validation
from Products.validation.validators.SupplValidators import MaxSizeValidator
validation.register(MaxSizeValidator('checkFileMaxSize',
maxsize=zconf.ATFile.max_file_size))
其中zconf.ATFile.max_file_size
默認爲 「無極限」,但你可以改變,通過複製Products/ATContentTypes/etc/atcontenttypes.conf.in
到$INSTANCE_HOME/etc/atcontentypes.conf
並設置max_file_size
參數:
<archetype ATFile>
# maximum file size in byte, kb or mb
max_file_size 10mb
</archetype>
(中格式也支持gb
,但默認文件不包含在列表中)。
如果您有自定義的文件字段(以上僅適用於默認的原型ATFile架構),您可以重新使用該驗證器或創建自己的。爲了重複上面的驗證,簡單地把它添加到validators
屬性:
from Products.validation import V_REQUIRED
FileField('yourfilefield',
# ...
validators = (
('isNonEmptyFile', V_REQUIRED),
('checkFileMaxSize', V_REQUIRED)
),
)
要使用你獨立配置不同的最大大小,使用ATContentTypes使用相同MaxSizeValidator
,並以新的名稱進行註冊,然後使用驗證程序而不是'checkFileMaxSize'
驗證程序;您指定的值是mebibytes(1024個字節)的數量:
from Products.validation.config import validation
from Products.validation.validators.SupplValidators import MaxSizeValidator
validation.register(MaxSizeValidator('checkFileMax50mb', 50))
爲了防止資源浪費,如果您在nginx後面運行Plone,可以在將它傳遞給Plone之前立即檢查請求的聲明大小。請參閱 http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size 您可能也想要處理nginx中的錯誤: http://nginx.org/en/docs/http /ngx_http_core_module.html#error_page – 2012-07-11 12:52:08
- 1. 設置上傳的最大文件大小 - el_finder for rails
- 2. 如何設置上傳文件的最大大小
- 3. PHP最大上傳文件大小
- 4. Plone + Ploneboard最大上傳文件大小
- 5. 最大文件上傳大小
- 6. 如何用if語句設置上傳文件的最大文件大小?
- 7. 如何在htaccess中設置上傳文件大小來上傳大文件?
- 8. 最大上傳大小?
- 9. 我如何在Android上設置日誌文件最大大小
- 10. 設置SharedObject最大大小
- 11. 設置最大事件日誌大小
- 12. 如何設置最大文件上傳大小,並只允許PHP上傳的某些文件類型?
- 13. wordpress上傳文件和php最大文件大小
- 14. 使用ASP.NET webAPI上傳文件(最大10Mb文件大小)
- 15. WiredTiger,GridFS和Mongodb上傳文件和最大文件大小
- 16. 如何在Linux上設置最大TCP最大段大小?
- 17. 在IIS7/Win7 Pro上增加最大上傳文件大小
- 18. 在EditTextPreference中設置最小和最大文本大小
- 19. 上傳文件大小inYii2
- 20. 上傳文件的大小
- 21. 上傳文件總大小
- 22. 上傳文件大小
- 23. 設置FileUpload控件的最大文件大小
- 24. 設置的upload_max_filesize(等)大文件上傳
- 25. 如何使用Apache文件上傳使用情況根據文件名設置最大文件大小
- 26. 如何在codeigniter中設置最小上傳大小
- 27. Yii2最大文件大小
- 28. RadAsyncUpload最大文件大小
- 29. Java最大文件大小
- 30. 最大文件大小PyCharm
比使用'isMaxSize'驗證其他? – 2012-07-05 15:38:37