AngularJS - CSV empfangen und herunterladen

8

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.

    
Guy Ben-Moshe 22.04.2016, 11:29
quelle

4 Antworten

2

Sie können einfach navigieren:

%Vor%     
karaxuna 22.04.2016, 11:35
quelle
2

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 -

  1. Sie werden nicht in der Lage sein, die Fehler (falls vorhanden) von Ihrem http get Anruf zu behandeln :( Dafür versuchte try-catch-Block von Javascript, aber nicht gut funktioniert ...
  2. .. Sie können diesen Code nicht testen :( :(

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!

    
Shalaka Deshpande 01.12.2016 03:11
quelle
1

Sie können ein Tag erstellen und darauf klicken:

%Vor%     
jcubic 22.04.2016 11:35
quelle
1

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

verwenden

und IE diese Lösung wird funktionieren

%Vor%     
Rakeschand 22.04.2016 12:30
quelle

Tags und Links