Прочитайте заголовочные файлы и сделайте что-нибудь до полной загрузки фото - PullRequest
0 голосов
/ 31 августа 2009

Я передаю GUID в качестве заголовка и фотографию в качестве тела в файл php. GUID используется для аутентификации. Если он недействителен, я хочу завершить вызов и делаю это с помощью

die("GUID was expired");

Это работает нормально, но моя проблема в том, что вся фотография загружается до того, как она будет вызвана. Это плохо для пользователя. Я хочу прочитать заголовок и ждать загрузки, пока я не выполню проверку достоверности. Это возможно в php? Поэтому вместо того, чтобы загружать фотографию, а затем получать неудавшийся ответ, просто загрузите заголовки из цели c, если Guid действителен, затем загрузите фотографию.

Спасибо!

1 Ответ

0 голосов
/ 01 сентября 2009

Я не верю, что это возможно в PHP; браузер будет POST тело содержимого изображения, прежде чем PHP когда-либо получит право голоса в этом вопросе.

Одним (немного сложным) решением этой проблемы было бы сделать запрос HEAD с XMLHttpRequest непосредственно перед отправкой формы с использованием JavaScript. Если запрос не удался, вы можете отобразить сообщение об ошибке для пользователя или перенаправить на страницу входа. В противном случае, пусть форма будет отправлена ​​как обычно. Конечно, GUID может истечь между запросом HEAD и последующим POST, поэтому он не полностью защищен от ошибок.

...