2017-12-20 28 views
0

Mein Ziel ist es, Links zu CSV-Dateien anzuzeigen, damit ein Endbenutzer sie herunterladen kann.node-RED-dashboard: Wie lade ich eine csv-Datei herunter, die mit einem Dateiausgabeknoten erstellt wurde?

Also habe ich eine CSV-Datei erstellt und mit einem Dateiausgabeknoten gespeichert, aber ich finde keine Möglichkeit, dem Endbenutzer zu erlauben, auf einen Link/Button zu klicken, um ihn herunterzuladen. Ich habe versucht, den folgenden Fluss, aber es weist auf http://localhost:1880/ui/~/TEST.CSV:

[{"id":"3aff08aa.8731d8","type":"inject","z":"a24aefdf.d606e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":120,"y":100,"wires":[["1541e37c.3072dd"]]},{"id":"1541e37c.3072dd","type":"function","z":"a24aefdf.d606e","name":"","func":"msg.payload = {};\nmsg.payload = {\"col1\": 1, \"col2\": 2};\nreturn msg;","outputs":1,"noerr":0,"x":270,"y":100,"wires":[["2d045a05.efbef6"]]},{"id":"12ba838c.dcd18c","type":"file","z":"a24aefdf.d606e","name":"TEST.CSV","filename":"~/TEST.CSV","appendNewline":true,"createDir":true,"overwriteFile":"true","x":570,"y":100,"wires":[]},{"id":"2d045a05.efbef6","type":"csv","z":"a24aefdf.d606e","name":"","sep":",","hdrin":true,"hdrout":true,"multi":"one","ret":"\\n","temp":"col1, col2","x":410,"y":100,"wires":[["12ba838c.dcd18c"]]},{"id":"5a9db6ab.f35b28","type":"http in","z":"a24aefdf.d606e","name":"downloads","url":"/downloads","method":"get","upload":false,"swaggerDoc":"","x":120,"y":160,"wires":[["7291d925.cfc9b8","ccef1ce3.900b8"]]},{"id":"7291d925.cfc9b8","type":"debug","z":"a24aefdf.d606e","name":"","active":true,"console":"false","complete":"false","x":140,"y":240,"wires":[]},{"id":"1916b0d1.3c55ff","type":"http response","z":"a24aefdf.d606e","name":"response","statusCode":"200","headers":{"content-type":"text/plain"},"x":560,"y":160,"wires":[]},{"id":"ccef1ce3.900b8","type":"ui_template","z":"a24aefdf.d606e","group":"a1588fc.a8dc47","name":"","order":0,"width":0,"height":0,"format":"<div ng-bind-html=\"msg.payload\"></div>\n<a href=\"~/TEST.CSV\">Download TEST.CSV</a>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":420,"y":160,"wires":[["1916b0d1.3c55ff"]]},{"id":"a1588fc.a8dc47","type":"ui_group","z":"","name":"Data Export","tab":"ea941605.788c18","disp":true,"width":"12"},{"id":"ea941605.788c18","type":"ui_tab","z":"","name":"Dashboard","icon":"dashboard","order":1}]

Ich erwarte, dass dies etwas mit absoluten Pfaden zu tun ist, aber ich weiß nicht, wo der Knoten-rote Wurzel des Web-Servers in der Datei System ...

Jede Hilfe wäre dankbar erhalten.

Cheers, Simon

Antwort

1

Es gibt einen Abschnitt in Ihrer settings.js Datei ist, die standardmäßig lautet:

// When httpAdminRoot is used to move the UI to a different root path, the 
// following property can be used to identify a directory of static content 
// that should be served at http://localhost:1880/. 
//httpStatic: '/home/nol/node-red-dashboard/', 

Wenn Sie dies noch nicht getan haben, Kommentar- der httpStatic Linie und Setzen Sie einen Verzeichnispfad zu einem absoluten Speicherort, an den Ihr node-red-Server schreiben kann. Starten Sie dann node-red neu und ändern Sie Ihren Fluss, um die CSV-Datei in diesem Verzeichnis auszugeben. Alle Dateien/Ordner, die Sie unter diesem Speicherort erstellen, können jetzt vom Knotenrot-Expressserver bedient werden.

Wenn Ihr Knoten-rot-Server startet, wird es den absoluten Pfad zu dienen statische Dateien verwendet drucken - zum Beispiel, das zeigt sich in meinem Projekt:

13 Jan 12:06:45 - [info] Settings file : C:\NODE\node_red_ui\settings.js 

13 Jan 12:06:45 - [info] HTTP Static : C:\NODE\node_red_ui\public

13 Jan 12:06:45 - [info] User directory : C:\NODE\node_red_ui 
13 Jan 12:06:45 - [info] Flows file  : C:\NODE\node_red_ui\flows_ENTLAPTOP18.json 
13 Jan 12:06:45 - [info] Dashboard using development folder 
13 Jan 12:06:45 - [info] Server now running at http://localhost:1880/admin/ 
13 Jan 12:06:45 - [info] Starting flows 

Also, wenn ich die Datei erstellen C:\NODE\node_red_ui\public\downloads\test.csv,

dann kann es über die URL heruntergeladen werden => http://localhost:1880/downloads/test.csv

+0

Vielen Dank - funktioniert ein Leckerbissen :-) – simonl

Verwandte Themen