index.jsNode.js readFileSync() फ़ंक्शन
var server = require("./server");
var router = require("./router");
server.start(router.route);
server.js
//Script to start a server
var http = require("http");
var url = require("url");
var fs = require("fs");
function start(route) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
route(pathname, response, fs);
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
router.js
function route(pathname, response, fs) {
var regex = new RegExp('^/view/?$');
var directpath = "D:/nodejs/file_upload" + pathname;
var voo = fs.readFileSync(directpath);
if(regex.test(pathname)){
response.writeHead(200, {"Content-Type": "text/html"});
console.log("About to route a request for " + pathname);
response.end(voo);
} else{
response.writeHead(404);
response.end("<br/>404, file not found");
}
}
exports.route = route;
index.html
<!DOCTYPE html>
<html>
<body>
<p>Hello My friend </p>
</body>
</html>
मैं एक चर में फ़ाइल पथ को स्टोर करने की कोशिश कर रहा हूं और फिर इसे ti readFileSync() फ़ंक्शन फ़ीड करता हूं, लेकिन इससे मुझे कंसोल में त्रुटि बहती है।
Error: EISDIR, illegal operation on a directory
at Object.fs.readSync (fs.js:487:19)
at Object.fs.readFileSync (fs.js:326:28)
at route (D:\nodejs\file_upload\router.js:7:15)
at Server.onRequest (D:\nodejs\file_upload\server.js:15:6)
at Server.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23
)
at Socket.socket.ondata (http.js:1966:22)
at TCP.onread (net.js:527:27)
लेकिन अगर मैं पथ दर्ज: सीधे तो समारोह में 'डी /nodejs/file_upload/view/index.html "यह मेरे ब्राउज़र में पृष्ठ दिखाती है।
मैं दृश्य फ़ोल्डर में index.html फ़ाइल
शायद 'fs.readdir()' और लूप को उस सरणी के माध्यम से वापस करने का प्रयास करें? – CaffeineAddiction
संभावित डुप्लिकेट [नोड.जेएस का उपयोग करके मुझे मिलता है, "त्रुटि: EISDIR, पढ़ें"] (http://stackoverflow.com/questions/20417118/using-node-js-i-get-error-eisdir-read) –
सबसे अधिक संभावना है, आप 'डी:/nodejs/file_upload/view' को' D:/nodejs/file_upload/view/index.html' के बजाय पढ़ने की कोशिश कर रहे हैं। –