2017-07-28 4 views
0

J'ai stocké un fichier pdf dans mon projet angulaire 2. Je veux télécharger ce fichier en cliquant sur un bouton. Voici mon html code-Comment télécharger un pdf en utilisant FileSaver et Angular 2

<a class="btn-u btn-u-sm" (click)="SaveDemo()">Download <i class="fa fa-angle-double-right margin-left-5"></i></a> 

Et les component.ts

import { Component } from '@angular/core'; 
import { RegistrationComponent } from '../registration/app.registration'; 
import { saveAs } from 'file-saver'; 

@Component({ 
    templateUrl: './app.pronto.html' 
}) 
export class ProntoComponent { 
    SaveDemo() { 
     let file = new Blob(['../../../files/Skybase.pdf'], { type: 'application/pdf;charset=utf-8' }); 
     saveAs(file, 'Skybase.pdf') 
    } 
} 

Mais un pdf en blanc est en cours de téléchargement. Que devrais-je faire?

Répondre

1

Si le fichier est sur le même répertoire du projet

Pourquoi utilisez-vous tant de codage pour cela, vous pouvez utiliser directement download attribut de a tag

<a href="path_to_pdf" download> 

REMARQUE: Si votre chemin est correct, votre fichier sera téléchargé sinon il sera vide, le même problème est dans votre code. Vérifiez votre chemin de fichier et assurez-vous que c'est correct.


<a href="path_to_pdf" download="new_filename">

Indique le nouveau nom du fichier téléchargé

<a href="https://www.w3schools.com/images/myw3schoolsimage.jpg" download="w3logo">W3 Logo</a>

+0

i essayé aussi, mais sa ne se passe pas INSTE Ad son aller à ma page d'accueil. J'ai utilisé le routage et ajouté dans ma page html. Je pense que c'est pourquoi href = "" ne fonctionne pas – Subho

+0

allez-vous s'il vous plaît partager le chemin où vous avez stocké le fichier pdf? –

+0

J'ai 2 dossiers de l'application et des fichiers de même niveau. html trouve application> solutions> pronto> pronto.html et fichiers> Skybase.pdf – Subho