ich ein docx aus Backend mit Eil senden:Herunterladen docx als Blob
module.exports = (req, res) => {
res.status(200).sendFile(__dirname+"/output.docx")
}
ich es nennen und sie als Blob von Winkel Download mit:
$http({
url: '/api_cv/cv/gen',
method: "PUT",
responseType: 'blob'
}).success(function (data, status, headers, config) {
var blob = new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' });
var fileName = headers('content-disposition');
saveAs(blob, 'file.docx');
}).error(function (data, status, headers, config) {
console.log('Unable to download the file')
});
Es funktioniert in Chrome und Firefox. In Safari öffnet sich eine neue Registerkarte, es wird keine Datei heruntergeladen. In IE (via Azure RemoteApp getestet, da ich einen Mac haben), erhalte ich „Ihre aktuellen Sicherheitseinstellungen erlauben nicht diese Datei heruntergeladen werden“.
SaveAs is from https://github.com/eligrey/FileSaver.js/
Gibt es eine alternative Möglichkeit, Thins zu tun, die in allen modernen Browsern und IE10 + funktioniert?
getan haben Haben Sie versucht, mit 'arraybuffer' statt' blob' als die 'Antworttyp'? möchten auch Sie könnten den Zugang zu überprüfen, müssen die Header, weiß ich, dass manchmal muss man explizit den Zugriff erlauben, mit 'Access-Control-Expose-Headers' –
es versucht. Gleiches Ergebnis. – Per
Hmm ... aus Interesse, was macht die 'saveAs' Funktion? Ich habe gestern etwas sehr ähnliches gemacht und xlsx als 'Blob' gespeichert und es funktionierte gut, wenn auch in Chrome. –