File uploads в django 3

Posted by dobrych Tue, 01 Jul 2008 16:39:00 GMT

ДА! Это наконец-то случилось! Иван может петь победоносную песню, он так долго боролся за решение этого вопроса!

By default, if an uploaded file is smaller than 2.5 megabytes, Django will hold the entire contents of the upload in memory. This means that saving the file involves only a read from memory and a write to disk and thus is very fast. However, if an uploaded file is too large, Django will write the uploaded file to a temporary file stored in your system’s temporary directory.

Полная дока по новому аплоаду — Django | File Uploads | Django Documentation.

Comments

Leave a response

  1. Avatar
    Иван Сагалаев about 3 hours later:

    Не, ну все таки моих заслуг в этом особенно нет. Это все Майк Аксиак!

  2. Avatar
    Alex Efros about 3 hours later:

    А что будет если отправить 200 файлов по 2.5MB каждый одним запросом? DoS по памяти? IMHO такие лимиты надо делать на общий CONTENT_LENGTH, а не на размер одного файла.

  3. Avatar
    Иван Сагалаев about 4 hours later:

    Вообще, новый патч и позволяет такое реализовать. Пишется upload handler, который считает (в базе/файле/памяти) общее количество данных и отсекает их в случае чего.

    Хотя, такого не может быть. Поскольку сами джанговские процессы больше 2.5 МБ, память должна кончится существенно раньше :-). Но это уже отсекается на уровне настроек веб- или FastCGI-сервера.

Comments