का उपयोग कर रहा कोड निम्नलिखित का इस्तेमाल किया है छवि फ़ाइल और प्रदर्शन अपलोड करने का तरीका:एक्सप्रेस 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)
})
मैं इन उपरोक्त कोड का इस्तेमाल किया है फ़ाइल अपलोड करने के लिए, लेकिन टर्मिनल में नोड fileupload.js का उपयोग करके उत्साहित होने पर मुझे टाइप त्रुटि मिल रही है TypeError('app.use() requires middleware functions');
कोई भी इस समस्या को हल करने में मदद कर सकता है।
धन्यवाद इतना MSCDEX .File अपलोड सफलतापूर्वक – Khushboo
req.file अपरिभाषित है? इसे कैसे हल किया जा सकता है ? –
@SunilGarg सुनिश्चित करें कि आप अपनी फ़ाइल को "फ़ाइल" नामक फ़ील्ड में भेज रहे हैं जब आप अपने सर्वर पर पोस्ट करते हैं ... – duhaime