2017-03-25 2 views
0

서버에서 오디오 파일을 다운로드하려고합니다.angular2에서 파일을 다운로드하는 방법

import { Headers, Http, Response, RequestOptions, ResponseContentType } from '@angular/http'; 


downloadFile() { 
    let downloadUrl = "https://firebasestorage.googleapis.com/v0/b/enoeasy-94b34.appspot.com/o/Davido%20-%20If.mp3?alt=media&token=603f3beb-2380-42a4-a119-7bbb34769d78" 
    let headers = new Headers({ 'Content-Type': 'audio/mpeg', 'MyApp-Application' : 'AppName', 'Accept': 'audio/*' }); 
    let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob }); 

    return this.http.post(downloadUrl, '', options) 
     .map(this.extractContent) 
     .catch(this.handleError); 
    } 

private extractContent(res: Response) { 
     let blob: Blob = res.blob(); 
     window['saveAs'](blob, 'test.mp3'); 
} 

그럼 다음 버튼을 클릭하면 test.mp3 파일을 가져와야합니다. 불행히도 이 작동합니다.

<button md-button (click)="downloadFile()"><i class="fa fa-download" aria-hidden="true" ></i> Download</button> 

angular2를 사용하여 파일을 다운로드하는 방법에 대한 온라인 가이드를 온라인으로 검색했지만 도움이 될만한 항목을 찾을 수 없습니다.

어떻게 angular2로 파일을 다운로드합니까?

답변

0

하는 열 수 없습니다

downloadFile() { 

    let downloadUrl = "https://firebasestorage.googleapis.com/v0/b/enoeasy-94b34.appspot.com/o/Davido%20-%20If.mp3?alt=media&token=603f3beb-2380-42a4-a119-7bbb34769d78"; 

var save = document.createElement('a'); 
      save.href = downloadUrl; 
      save.target = '_blank'; 
      save.download = downloadUrl; 
      var evt = document.createEvent('MouseEvents'); 
      evt.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, 
       false, false, false, false, 0, null); 
      save.dispatchEvent(evt); 
      (window.URL).revokeObjectURL(save.href); 

} 
+0

불행하게도,이 윈도우 프로그램과 파일을 다운로드 방법에 따라 사용하거나 재생하시기 바랍니다. 파일은 mp3 파일이라고 가정합니다. –

관련 문제