Как проверить размер и тип файла, прежде чем принимать его? - PullRequest
0 голосов
/ 31 июля 2011

Вот мой код для приема файлов, загруженных пользователями:

def post(self):

    logging.info('(POST) Uploading new file')
    # saving file in the database
    file = Files()
    file.file = db.Blob(self.request.body)        
    file.put()

Как я могу избежать загрузки файлов размером более 100 КБ, и какой тип файла не .torrent? (Я полагаю, мне следует проверить тип mime файла?)

1 Ответ

1 голос
/ 31 июля 2011

Вы не можете предотвратить загрузку файла - к тому времени, когда ваш обработчик запросов будет выполнен, файл уже будет загружен. Все, что вы можете сделать, это сбросить файл и вернуть сообщение об ошибке.

Поскольку представляется, что файл загружается как тело запроса, а не из формы HTML, вы можете определить тип содержимого, получив self.request.headers["Content-Type"], а размер - len(self.request.body).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...