2016-03-22 13 views
0

Ich versuche, eine PDF-Datei ohne Eingabeaufforderung unter Verwendung der PDF-Datei herunterzuladen, die bereits unter verspotteten Testdaten vorhanden ist. Und ich bin in der Lage, die oben genannte Aufgabe zu tun, indem ich den folgenden Code benutze. Aber wenn ich versuche, die heruntergeladene pdf zu öffnen, bekomme ich "fehlgeschlagen, pdf-Dokument zu laden", was ich hier vermisse. Kinde Hilfe.Fehler beim Laden des PDF-Dokuments, NodeJs

fs.readFile('./src/test-data/service/print/notes.pdf', function(error, content) { 
    if (error) { 
     res.writeHead(500); 
     res.end(); 
    } 
    else { 
     res.writeHead(200, { 
      'Content-Type': 'application/pdf', 
      'Content-Disposition': 'attachment; filename=notes.pdf' 
     }); 
     res.end(content, 'utf-8'); 
    } 
}); 

Antwort

0

Das funktioniert perfekt.

var file = fs.createReadStream('./src/test-data/service/print/notes.pdf'); 
var stat = fs.statSync('./src/test-data/service/print/notes.pdf'); 
res.setHeader('Content-Length', stat.size); 
res.setHeader('Content-Type', 'application/pdf'); 
res.setHeader('Content-Disposition', 'attachment; filename=agreement.pdf'); 
file.pipe(res); 
1

Sie res.download

function fileExist(fullpath) { 
    try { 
     return fs.statSync(fullpath).isFile(); 
    } catch (e) { 
     return false; 
    } 
} 


var name = 'notes.pdf'; 
var filePath = './src/test-data/service/print/' + name; 
if (!Files.Exist(filePath)) { 
    console.log("file does't exist"); 
} else { 
    res.download(filePath, name, function(err) { 
     fs.unlink(filePath); 
    }); 
} 

wenn Sie möchten, halten Sie Ihre Datei nach dem Download ersetzen Sie die Zeile

res.download(filePath, name, function(err) { 
    fs.unlink(filePath); 
}); 

von

res.download(filePath, name); 

in der Winkel Anwendung verwenden müssen benutze $ window.open (url, '_self');

+0

Ich erhalte „Reference: Dateien sind nicht definiert“ in meinem app.Thanks für die ans.I einen anderen Weg gefunden. – user1645290

+0

sorry ich vergesse die Funktion, ich korrigiere es –

Verwandte Themen