Ich verwende ein nodeJS-Programm als Server und eine AngularJS-Webanwendung als Client.
Zum Erstellen der CSV verwende ich die "express-csv" -Bibliothek ( Ссылка )
>Hier ist mein serverseitiger Code:
Definiert:
%Vor%Code erhalten:
%Vor%Hier ist mein clientseitiger Code:
%Vor%Unnötig zu sagen, dass es den Server erreicht und alles andere gut funktioniert, aber ich konnte keinen Weg finden, die CSV herunterzuladen. Hilfe bitte.
P.S
Bitte sagen Sie nicht, dass es ein Duplikat von Eine csv-Datei mit node.js und node-csv-parser (Node-Modul) als Popup-Datei abfragen. Da die Client-Seite isn ' Das habe ich wirklich erwähnt. Auch andere Fragen konzentrieren sich eher auf die Serverseite als auf den Client. Es gibt keine andere Frage, die sich auf AngularJS-Client bezieht.
Ich hatte das gleiche Problem, dass die oben genannten Lösungen gut mit Chrome und Firefox funktionieren, aber nicht mit Safari / IE.
Ich habe den folgenden Hack ausprobiert und es hat für mich funktioniert-
var url="http://'+$localStorage.ip+':"+$localStorage.port+'/exportDB';
var form = angular.element("<form action='" + url +"'></form>");
form.submit();
Der Datei-Download wird vom Browser selbst übernommen. obwohl das folgende Einschränkung ist -
Es gibt einen anderen Ansatz, der funktioniert hat und es war -
var url="http://'+$localStorage.ip+':"+$localStorage.port+'/exportDB';
$window.location.href = url;
Anregungen und Diskussionen sind willkommen!
Es gibt Möglichkeiten, csv herunterzuladen. Der erste Ansatz besteht darin, ein Tag zu erstellen und darauf zu klicken
Fügen Sie den mimeType in die folgenden Codedaten ein: application / octet-stream
%Vor%Aber diese Lösung funktioniert nicht auf IE & gt; 9 und Safari & gt; 6
weil Safari dem Download-Attribut für Anchor-Tags nicht folgt
So können Sie für Safari filesaver.js
verwendenund IE diese Lösung wird funktionieren
%Vor%Tags und Links javascript angularjs node.js csv