JQuery window.open() Не разрешено загружать локальный ресурс в Chrome

При нажатии кнопки я пытаюсь загрузить файл документа, который находится в общем сетевом пути, это отлично работает в InterExplorer, но в Chrome я получаю сообщение об ошибке «Не разрешено загружать локальный ресурс».

windows.open('file://userguide/oracle/training.docx',"_blank")

Читал, что Chrome не позволяет загружать локальные ресурсы, есть ли у нас альтернативный способ загрузки файла .docx по нажатию кнопки?

Это в представлении ASP.NET MVC Razor.


person ajit    schedule 08.07.2020    source источник


Ответы (2)


Это одна из тех вещей, которые не рекомендуются современными веб-браузерами. Если вы посмотрите на это объективно, это проблема безопасности, позволяющая скриптам внешнего интерфейса просто получать доступ к вашей файловой системе.

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

редактировать: грамматика

person user-ic    schedule 08.07.2020

Метод open() открывает новое окно браузера или новую вкладку, в зависимости от настроек браузера и значений параметров. С помощью этого метода вы можете просматривать файл PDF, но это не относится к .docx. Если вы хотите просмотреть Файл .docx использует такие инструменты, как google docs, или вы можете сохранить как файл слова как .html (но некоторые функции будут потеряны), а затем загрузить файл html в редакторе html, таком как tinymce

person Vivian Mascarenhas    schedule 08.07.2020
comment
Спасибо за ответ, но моя форма будет использоваться многими конечными пользователями, и я не могу предложить им все эти вещи. - person ajit; 08.07.2020
comment
Я предположил, что вы хотите показать пользователю файл .docx, который он загрузил на ваш сайт. Предложение было основано на этом контексте. Предоставленное предложение не должно выполняться конечным пользователем, оно должно выполняться на бэкэнде, например, из .docx в HTML и т. д. - person Vivian Mascarenhas; 08.07.2020