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