Ich habe Web-Anwendung mit eckigen js und WEB-API mit asp.net implementiert. Dort habe ich ContentDisposition verwendet, um den Dateinamen wie unten WEB API-Controller-Methode zurückzugeben.Dateidownload in angular js SPA mit ASP.net Web API nicht richtig funktioniert?
aber wenn versucht wird, auf x-Dateiname von der Client-Seite zuzugreifen, existiert es dort nicht. Winkelcode ist unten gezeigt.
$http({
method: 'GET',
url: common.serviceUrl(config.apiServices.usermanuals),
params: { manualId: manualId },
responseType: 'arraybuffer'
}).success(function (data, status, headers, config) {
headers = headers();
//var test = headers('Content-Disposition');
var filename = headers['x-filename'];
var contentType = headers['content-type'];
var linkElement = document.createElement('a');
try {
var blob = new Blob([data], { type: contentType });
var url = window.URL.createObjectURL(blob);
linkElement.setAttribute('href', url);
linkElement.setAttribute("download", filename);
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": false
});
linkElement.dispatchEvent(clickEvent);
} catch (ex) {
console.log(ex);
}
}).error(function (data) {
console.log(data);
});
Rückkehr Header unten gezeigt
Dateiname wird undefined Wie ich ContentDisposition von hier aus zugreifen können. pls help
Dank
Seien Sie sicher, 'x-filename' in den [Access-Control-Expose-Headers] enthalten (https://developer.mozilla.org/en- US/docs/Web/HTTP/Kopfzeilen/Access-Control-Expose-Header). – georgeawg
@georgeawg Danke – Wella