можно ли загрузить данные пользователя без отправки его на сервер?
В общем случае нет.
Возможно, с URL-адресом data:
, как в ответе janmoesen (хотя вы должны быть кодировкой URL-адреса для включения в URL-адрес, или вы можете столкнуться с коррупцией, когда в данных появляется последовательность %nn
).
Однако это непрактично для очень длинных данных, и оно недоступно в старых браузерах или IE. (IE8 позволяет использовать короткие URL-адреса данных для изображений, но не для прямой навигации). Поэтому, пока вы можете включить метод URL-адресов данных для улучшения процесса в браузерах, которые его поддерживают, вам все равно потребуется резервное решение для отправки формальных данные на серверную сторону, и при этом он возвращает обратно файл в ответ.
(По соображениям безопасности, то это должно быть разрешено только в POST
запросе, и сервер должен включать Content-Disposition: attachment
в ответ. Сценарий контент-эхо может дать вам проблемы кросс-сайт-сценариев в противном случае.)