Проблема Angular 5 с Chrome и «Не разрешено открывать локальный ресурс» - PullRequest
0 голосов
/ 29 ноября 2018

Итак, я получил приложение для клиента, у которого есть много файлов, которые нужно открыть из приложения, в основном PDF-файлы.У меня все работает, но когда я пытался открыть ссылку:

<a class="btn btn-info" tooltip="Ver" href="{{ file.fileLocation }}" target="_blank" ><i class="fa fa-edit"></i></a>

Это выдает ошибку «Не разрешено открывать локальный ресурс: file: //srvnas/files/architecture_map.pdf», я знаюэто функция безопасности Chrome, я хочу знать, как наиболее эффективно открыть эти файлы.Мой бэкэнд работает с asp.net core 2.1 и web api.Мне нужно сделать какой-нибудь файловый сервер?Нужно ли открывать файлы другим способом?Эта папка, к которой я пытаюсь получить доступ, является открытой папкой, доступной для всех, поэтому, если честно, проблема безопасности не является проблемой.

Любые точки в правильном направлении очень ценятся.

1 Ответ

0 голосов
/ 29 ноября 2018

Здесь нужно учесть одну вещь, когда пользователь заходит на ваш сайт, он / она делает запрос на ваш веб-сервер

Веб-сервер отправит файлы клиенту (HTML, CSS, JS)

Так же, как вы должны отправить файл PDF клиенту.

Если это статические файлы, вы можете просто разместить их на сервере и указать на них клиент.

Например,

Расположение на сервере

https://example.com/data/MyPdf.pdf

Ссылка на стороне клиента

<a class="btn btn-info" tooltip="Ver" href="example.com/data/MyPdf.pdf" target="_blank" ><i class="fa fa-edit"></i></a>

И если у вас естьдинамический контент, вам нужно настроить конечную точку API, которая обслуживает контент PDF

, чтобы получить ссылку из API

, вы должны вернуть местоположение из вашего API

[HttpGet]
public object GetPdfLink(int id)
{
    return new {Data="Path To Your PDF From DB"};
}

В вашем Angular Service извлеките свойство Data из объекта ответа и установите для него значение href

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...