Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 17.09.2018 17:28:35

FileUpload

Такая старая тема и такая больная, для меня, это работа с загрузкой файлов на сервер.
Если не брать в расчет разного рода плагины, которые перед отправкой файлов на сервер могут сами выполнить условие по максимальо допустимому размеру.
А возьмем стандартный post запрос с формы input type file.
Как грамотно проверить ограничение на загрузку и выдать предупреждение пользователя. Ведь если, к примеру, upload_max_filesize = post_max_size = 200М, а загружают файл весом 500М случится фатальная ошибка. Да, ошибку можно отловить и вернуть свой ответ. Это правильно будет? Или есть еще какие-нибудь рекомендации?

Не в сети

#2 17.09.2018 21:00:14

Re: FileUpload

Как грамотно проверить ограничение на загрузку и выдать предупреждение пользователя.

Никак. В формах не предусмотрено стандартных механизмов для оповещения браузера о максимальном размере загружаемого файла (на самом деле - размере передаваемых данных в форме, например, если ты вставишь в textarea N мегабайт текста, результат будет тот же). Соответственно, ошибка произойдет только тогда, когда пользователь отправил форму и браузер переслал на сервер max+1 байт.

Мораль такова: для мелких файлов (пара мегабайт) можно использовать традиционный способ загрузки (через форму с POST) - здесь потеря данных и времени не так критична; для больших файлов - только JavaScript, с предварительной проверкой на клиенте до отправки формы. Из минусов - некоторые очень старые браузеры идут лесом.

Не в сети

#3 18.09.2018 13:39:28

Re: FileUpload

Понял, спасибо за мораль)

Не в сети

Подвал раздела