Почему файл может быть частично загружен?

Почему файл может быть частично загружен?

Я улучшаю обработку ошибок в моей загрузке файла PHP script и пытаюсь выяснить, как правильно обрабатывать UPLOAD_ERR_PARTIAL.

Должен ли я попросить пользователя снова попробовать загрузить файл или сообщить им, что существует более серьезная проблема, которая мешает им загружать возможно законный файл?

Ответ 1

Почему файл может быть частично закачанный?

Это обычно вызвано отменой загрузки пользователем.

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

Вы должны попросить их повторить попытку, и если проблемы продолжат обращаться к владельцам сайтов, включая как можно больше деталей.

Ответ 2

UPLOAD_ERR_PARTIAL задается, когда граница mime не найдена после данных файла. Возможной причиной этого является то, что загрузка была отменена пользователем (нажата ESC и т.д.).

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

Ответ 3

Это старый пост, но у меня была случайная проблема с UPLOAD_ERR_PARTIAL и отправкой моего решения.

Проблема в том, что после загрузки 2/3 я получил ошибку UPLOAD_ERR_PARTIAL, без каких-либо прерываний со стороны клиента.

Моя проблема связана с сервером Keep-Alive.

Я решил это, вставив в конец PHP script для загрузки

header ("Connection: close");

что заставляет замыкание соединения. Это решило мою проблему.

Я надеюсь, что кто-то может помочь.

Спасибо этому LINK

Ответ 4

Ну, загрузка файла может быть прервана:

Недостаток места назначения

Прерывание соединения

Файл с повреждением

Неверное имя

Неверное расширение

и т.д...

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

В первый раз, когда я сделал загрузку файла script, я использовал 1 строку кода, теперь тот же самый script выглядит как веб-страница;)

EDITED (пример для управления расширением и размером файла):

if ((

($file_up["type"] == "image/gif") ||

($file_up["type"] == "image/jpeg") ||

($file_up["type"] == "image/jpg") ||

($file_up["type"] == "image/pjpeg") ||

($file_up["type"] == "image/bmp") ||

($file_up["type"] == "image/tiff") ||

($file_up["type"] == "image/png")) &&

($file_up["size"] < 1050000))

{

    code if all ok...


}

Ответ 5

Это может помочь некоторым людям, но у меня была та же проблема. Моим решением было удалить libapache2-mod-php5filter и заменить его на классический libapache2-mod-php5

Ответ 6

У меня такая же проблема и была связана с пакетом libapache2-mod-php5filter, я удаляю p и проблему. Надеюсь, кто-то может помочь.

Ответ 7

У меня была эта проблема сегодня, когда я работал над загрузкой ajax файла на моем локальном компьютере, пока не понял (через час), что этот же файл (CSV) был открыт в другой программе (MS Excel). После того, как я закрыл соответствующую программу, все вернулось в норму.

Надеюсь, это поможет !