Загрузка файла в угловых JS - PullRequest
       23

Загрузка файла в угловых JS

0 голосов
/ 20 декабря 2018

Как загрузить файл на мобильное устройство с указанием URL-адреса с сервера, в мобильном приложении Angularjs (платформа Cordova).Файл может иметь тип pdf, изображение и т. Д ...

1 Ответ

0 голосов
/ 20 декабря 2018

Вы должны сделать что-то вроде этого:

Это угловая часть JS:

import { Http, ResponseContentType } from '@angular/http';
...

constructor(
  private http: Http,
) { }

downloadFile() {
  return this.http
    .get('http://www.africau.edu/images/default', {
      responseType: ResponseContentType.Blob,
      search: // query string if have
    })
    .map(res => {
      return {
        filename: 'sample.pdf',
        data: res.blob()
      };
    })
    .subscribe(res => {
        console.log('start download:',res);
        var url = window.URL.createObjectURL(res.data);
        var a = document.createElement('a');
        document.body.appendChild(a);
        a.setAttribute('style', 'display: none');
        a.href = url;
        a.download = res.filename;
        a.click();
        window.URL.revokeObjectURL(url);
        a.remove(); // remove the element
      }, error => {
        console.log('download error:', JSON.stringify(error));
      }, () => {
        console.log('Completed file download.')
      });
}

Это часть HTML:

<button class="btn btn-primary" (click)="downloadFile()"><i class="fa fa-file-pdf-o"></i> Download</button>
...