2016-06-16 11 views
0

Ich möchte in der Lage sein, eine Textdatei zu importieren, dann spuckt die nächste Seite den Inhalt der Datei, die durch Kommas getrennt sind. Der Code, den ich habe, ist unten. Im Moment funktioniert es nicht. Ich möchte die importierte Datei einlesen und den Inhalt auf der Webseite ausdrucken können. Ich weiß nicht, wie man formidable verwendet, vielleicht ist das eine Option?Parse eine Datei auf Knoten js

Knoten js

var http = require('http'); 
var express= require('express') 
var fs = require('fs'); 
var util = require('util'); 
var app= express(); 
var multer = require('multer'); 
var fileUpload = require('express-fileupload'); 
app.use(fileUpload()); 

app.get('/', function(req, res){ 
    var html = fs.readFileSync('index2.html'); 
    res.writeHead(200, {'Content-Type': 'text/html'}); 
    res.end(html); 
}); 

var upload = multer({ dest: 'uploads/' }) 

app.post('/submit', upload.single('file'), function(req,res,next) { 
    res.send(req.file); 
}); 

//Listening to computer's IP address 
app.listen(3000, "192.168.0.172"); 
console.log('Listening at 192.168.0.172:3000') 

html

<html> 
    <head> 
    <title> 
     File Upload Example 
    </title> 
    </head> 
    <body> 
    <form action="/submit" method="post" enctype='multipart/form-data'> 
    <br/> 
    <input type="file" name="file" /> 
    <input type="submit" value="Submit" name="submit"> 
    </form> 
    </body> 
</html> 
+0

Import eine Datei? Vielleicht meinst du das Senden einer Datei vom Browser zum Server? – Zen

+0

Also ja ich möchte Benutzer nach einer Textdatei suchen. Wenn sie dann auf "Senden" klicken, wird die Datei auf der Webseite angezeigt. – lord

+0

Google wie man eine Datei an den Nodejs Server sendet – Zen

Antwort

0

Um die Datei in Anforderungsfeld zugreifen, sollten Sie "multer" Middleware-Handler hinzuzufügen. Versuchen Sie stattdessen:

multer({ dest: 'uploads/' }); app.post('/submit', upload.single('Parameters'), function(req,res) { console.log(req.file); });

+0

Es ist immer noch undefiniert! – lord

+0

Fügen Sie 'enctype =" multipart/form-data "' -Eigenschaft hinzu, um das Element zu bilden, und versuchen Sie es erneut. –

+0

Vielleicht habe ich meine Frage falsch geschrieben. Der Ratschlag, den Sie die Dateiparameter in der Konsole gaben. Nehmen wir jedoch an, der Benutzer lädt "hello.txt", die den Text "Hallo" enthalten. Ich möchte, dass der Benutzer auf "Senden" drückt und der Inhalt der Textdatei auf der nächsten Webseite angezeigt wird. Also würde "Hallo" im Fenster/Senden erscheinen. – lord