Я действительно боюсь этой операции read()
, потому что она использует память. Например, кто-нибудь может атаковать мой сервер, загрузив файл размером 1 ГБ, верно?
name = request.forms.get('name')
data = request.files.get('data')
if name and data.file:
raw = data.file.read() # This is dangerous for big files
filename = data.filename
return "Hello %s! You uploaded %s (%d bytes)." % (name, filename, len(raw))
Есть ли безопасное решение для получения размера загруженного файла? Можно предположить, что размер файла можно получить из файловой системы; request.files.get('data')
, вероятно, хранится где-то во временном файле, верно?