Angular 7: скачать PDF-файл в папке приложения - PullRequest
1 голос
/ 12 мая 2019

Я пытаюсь загрузить файл pdf в папку моего проекта (\ src \ app \ files \ pdf \ iBATIS.pdf) при нажатии кнопки.При нажатии кнопки отображается [Failed-no file] и файл не загружается.Что мне нужно сделать, чтобы иметь возможность скачать этот файл?Не могли бы вы мне помочь.

Когда я переместил файл PDF в папку (\ src \ assets), файл PDF успешно загружен.Почему файл не может быть загружен в (\ src \ app \ files \ pdf \ iBATIS.pdf)?


    html

        button type="button" (click)="downloadPDF()" => Click button

    ts ( ts file path is src\app\pdfdownload\pdfdownload.component.ts)
        downloadPDF(){
            let link=document.createElement("a");
            link.download="ibatis.pdf";
            link.href="../files/pdf/iBATIS.pdf"; 
            link.click();
        }

1 Ответ

0 голосов
/ 12 мая 2019

*, Прежде всего, *, насколько мне известно, папка asset в проекте предназначена для доступа к данным и загрузки материалов.

Если файл уже находится на сервере, вы можете попробовать следующие способы загрузки:

f1() {
    window.open('path', '_blank');
}

или:

f1() {
   window.open('/assets/files/blabla.pdf', '_blank');
}

или:

<a download="filename" target="_blank" href="/assets/files/blabla.pdf">
  Click here to download image
</a>

и если вы хотите сделать это в угловом режиме, то я думаю, что вы должны попробовать $http метод углового, например, следующий

$http({method: 'GET', url: '/someUrl'}).
  success(function(data, status, headers, config) {
     var anchor = angular.element('<a/>');
     anchor.attr({
         href: 'data:attachment/csv;charset=utf-8,' + encodeURI(data),
         target: '_blank',
         download: 'filename.csv'
     })[0].click();

  }).
  error(function(data, status, headers, config) {
    // handle error
  });

может это сработает для вас !!!

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