Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.
Есть форма отправки файла.
Отправка идёт в скрытом iframe.
То бишь...
1) Пользователь выбрал файл.
2) Польователь ткнул "отправить".
3) js обработал название файла и если всё ок - вызвал send формы.
4) Появляется анимация загрузки, форма отправляется в скрытый iframe.
5) Когда файл загружен, из iframe приходит сигнал и пользователю вываливается уведомлялка, что всё загружено.
Тут проблем нет. Проблема в другом.
Пользователь куда-то ходил-ходил, потом возвращается на страницу загрузки файла.
Только делает он это путём тыкания "назад" в браузере.
В итоге, форма снова начинает отправляться, только уже без файла.
Как итог - получаю на сервере файл-дубликат весом в 0 кб.
----------------------------------------------
Я так понимаю, дело в том что браузер сохраняет некоторые данные форм. Кеширует, если тут применимо такое название.
В общем, просто сохраняет текст в поле (и я не про автозаполнение сейчас).
И я так пониаю, что при тыкании пользователем "назад" заново срабатывает последнее действие на странице, то бишь отправка формы.
И она отправляется с сохранённым там именем файла, но уже без связи его с физическим файлом в ФС пользователя.
----------------------------------------------
Собсно вопрос - можно ли как-нибудь, после отправки файла, надёжно очистить форму, чтобы при "назад" не отправлялся этот 0кб файл?
Есть форма отправки файла.
Отправка идёт в скрытом iframe.
То бишь...
1) Пользователь выбрал файл.
2) Польователь ткнул "отправить".
3) js обработал название файла и если всё ок - вызвал send формы.
4) Появляется анимация загрузки, форма отправляется в скрытый iframe.
5) Когда файл загружен, из iframe приходит сигнал и пользователю вываливается уведомлялка, что всё загружено.
Тут проблем нет. Проблема в другом.
Пользователь куда-то ходил-ходил, потом возвращается на страницу загрузки файла.
Только делает он это путём тыкания "назад" в браузере.
В итоге, форма снова начинает отправляться, только уже без файла.
Как итог - получаю на сервере файл-дубликат весом в 0 кб.
----------------------------------------------
Я так понимаю, дело в том что браузер сохраняет некоторые данные форм. Кеширует, если тут применимо такое название.
В общем, просто сохраняет текст в поле (и я не про автозаполнение сейчас).
И я так пониаю, что при тыкании пользователем "назад" заново срабатывает последнее действие на странице, то бишь отправка формы.
И она отправляется с сохранённым там именем файла, но уже без связи его с физическим файлом в ФС пользователя.
----------------------------------------------
Собсно вопрос - можно ли как-нибудь, после отправки файла, надёжно очистить форму, чтобы при "назад" не отправлялся этот 0кб файл?
-
-
24.01.2016 в 09:07что то типа этого:
if(Request.Files[0].Length >0){
saveFile(Request.Files[0].Stream)
}
-
-
24.01.2016 в 14:18-
-
24.01.2016 в 15:15В любом случае, пользователя не заставишь открывать страницу "на свежую" - ему как удобно, так и делает.
fire-dragon, Нехватка опыта ^^" Оно просто недавно только обнаружилось. Я и не знал, что такая фигня может быть.
Спасибо, попробую.