Сохраните файл в локальной системе с помощью браузера с указанным именем файла и расширением, используя html и javascript без взаимодействия с сервером

Мы используем HTML5 и javascript в одном из наших приложений. Требование состоит в том, что когда пользователь нажимает кнопку, мы должны загрузить файл, содержащий все введенные пользователем данные. Для этого не должно быть никакого взаимодействия с сервером.

Используя объект ActiveX, мы можем сделать это. Но он ограничен только Internet Explorer.

Установив заголовки ответа на сервере, мы также можем добиться этого. Но мы не можем использовать для этого взаимодействие с сервером.

Мы пытались использовать данные base64 с типом mime как «application/octect-stream». Он загружает файл «xxx.part» в локальную систему с точными данными. Но мы не можем установить собственное имя файла и расширение (поскольку мы не можем использовать .part в качестве расширения) для файла.

Пожалуйста, предложите нам способ загрузки файла из браузера без взаимодействия с сервером с желаемым именем файла и расширением, который работает со всеми браузерами.


person Babu    schedule 26.08.2011    source источник
comment
Я не думаю, что вы можете это сделать, и, как пользователь, я очень надеюсь, что вы не сможете. Я не хочу, чтобы веб-страница имела какой-либо доступ к файловой системе моего компьютера, по крайней мере, без использования диалогового окна сохранения (или открытия) в браузере.   -  person nnnnnn    schedule 26.08.2011


Ответы (2)


В настоящее время это невозможно без использования ActiveX или Flash. Взгляните на Downloadify и посмотрите, подойдет ли он вам.

person Femi    schedule 26.08.2011

Мы пытались использовать данные base64 с типом mime как «application/octect-stream».

Вы пытались установить соответствующий заголовок ответа?

Response.AppendHeader("Content-Disposition", "attachment; filename=name.ext");
person Leonid    schedule 26.08.2011
comment
Мы не можем использовать какие-либо серверные технологии. Спасибо за быстрый ответ. - person Babu; 26.08.2011