Вам не нужно предоставлять обратный вызов для fs.readFileSyn c, он вернет данные после завершения.
Имейте в виду, если размер файла велик, это заблокирует основной поток и не будет считаться хорошей практикой.
Вы бы использовали его так:
var express = require("express");
var fs = require('fs')
var path = require('path')
var router = express.Router();
router.get("/:file", (req, res) => {
try {
console.log(req.params.file)
let data = fs.readFileSync(path.resolve('/uploads', './'+req.params.file));
console.log("d: ",data);
res.send(data)
} catch (err) {
console.error(err);
res.status(500).send("Something bad happened");
}
});
Если вы будете sh делать это асинхронно, используя fs.readFile , я бы изменил ваш код следующим образом:
var express = require("express");
var fs = require('fs')
var path = require('path')
var router = express.Router();
router.get("/:file", (req, res) => {
console.log(req.params.file)
fs.readFile(path.resolve('/uploads', './'+req.params.file), function (err, data){
if (!err) {
console.log("d: ",data);
res.send(data)
} else {
console.log(err);
}
});
});