Ich habe folgenden Code verwendet hochladen:wie Bilddatei und Anzeige mit ausdrücklicher NodeJS
fileupload.html
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>File Upload:</h3>
Select a file to upload: <br />
<form action="http://127.0.0.1:8081/file_upload" method="POST" enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
fileupload.js:
var express = require('express');
var app = express();
var fs = require("fs");
var bodyParser = require('body-parser');
var multer = require('multer');
//console.log(multer);
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(multer({ dest: '/tmp/'}));
app.get('/fileupload.html', function (req, res) {
res.sendFile(__dirname + "/" + "fileupload.html");
})
app.post('/file_upload', function (req, res) {
console.log(req.files.file.name);
console.log(req.files.file.path);
console.log(req.files.file.type);
var file = __dirname + "/" + req.files.file.name;
fs.readFile(req.files.file.path, function (err, data) {
fs.writeFile(file, data, function (err) {
if(err){
console.log(err);
}else{
response = {
message:'File uploaded successfully',
filename:req.files.file.name
};
}
console.log(response);
res.end(JSON.stringify(response));
});
});
})
var server = app.listen(8081, function() {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
Ich habe diese obigen Code verwendet Für das Hochladen von Dateien Aber wenn ich den Knoten fileupload.js im Terminal benutze, erhalte ich einen Typfehler TypeError('app.use() requires middleware functions');
Kann jemand helfen, dieses Problem zu lösen.
Vielen Dank mscdex .File hochgeladen erfolgreich – Khushboo
req.file nicht definiert ist? Wie kann ich das lösen? –
@SunilGarg Stellen Sie sicher, dass Sie Ihr Bild in einem Feld namens "Datei" senden, wenn Sie auf Ihren Server veröffentlichen ... – duhaime