открыть файлы (pdf, изображение,), используя angular - PullRequest
0 голосов
/ 31 января 2020

У меня есть локальный путь на моей стороне сервера, и я должен получить его в angular и отобразить его. Как мне это сделать? Я был бы рад, если бы кто-нибудь сказал мне, как я понимаю, что мне нужно использовать blob в angular, но какие параметры я получаю / возвращаю с сервера?

здесь мой Angular код

openPDF(){
this.ser.openDPFfile().subscribe((response)=>{
  let file = new Blob([response.byteString], { type: 'application/pdf' });            
  var fileURL = URL.createObjectURL(file);
  window.open(fileURL);
}) }

и мой c# код

  [RoutePrefix("api/files")]
    [Route("download")]
    [HttpGet]
    public string GetStreamFile()
    {
        string fileName = "LabResult.pdf";
        string path = @"C:/Users/" + fileName;
        byte[] a = File.ReadAllBytes(path);
        string s = Convert.ToBase64String(a);
        return s;
    }

что мне нужно добавить или изменить? пожалуйста, помогите мне спасибо:)

Ответы [ 2 ]

0 голосов
/ 31 января 2020

Вам нужно сделать pdf скачиваемым в вашем коде сервера. Когда вы делаете запрос на свой сервер, файл PDF должен быть загружен. Затем вы должны использовать функцию window.open в вашем angular проекте, чтобы показать этот pdf. Старые браузеры не могут показать ваш файл PDF.

это ваша сторона сервера

// this is pseudo code
res.write(createReadStream('./mypdffile.pdf')
res.header('Content-Type', 'application/pdf')
res.header('Content-Length', 1000000) // 1megabyte
res.header('Content-Disposition', `attachment; myfile.pdf`)
0 голосов
/ 31 января 2020

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

window.open(
      'file path on the server',
      '_blank',
    );

Поместите свой файл в папку wwwroot и отправьте этот адрес angular, чтобы открыть его, как указано выше.

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