[尝试使用Express.js建立网站,我正在努力在该网站上显示pdf。尝试使用fs和path来显示它,我真的很麻烦,因为似乎我使用的路径回调使用不正确,因此出现错误。坦白说,这段代码是通过解析数十条SO帖子而编写的,因此,我很难理解为什么收到此错误消息(参数“ path”必须是字符串或不包含空字节的Uint8Array)。
我已经尝试将fs.readfileSync更改为fs.statSync。在使用path之前,我仅通过fs设置了链接,但是代码很长,因为在fs中链接到pdf时我一直在努力寻找相对路径。
const express = require("express"),
fs = require("fs"),
path = require("path");
const router = express.Router();
router.get("/bob", (req,res)=> {
var filePath = path.join(__dirname, "..", "views", "files", "bob.pdf");
var fileString = fs.readFileSync(filePath, "utf-8");
fs.readFile(fileString , (err,data) => {
if(err){
console.log(err);
} else {
res.contentType("application/pdf");
res.send(data);
}
});
});
我希望代码对pdf进行编码并显示它,但是我收到了错误消息:“参数'path'必须是字符串或不包含空字节的Uint8Array。收到了'%PDF-1.7....。 “
我认为您的问题与此类似。你可以访问这个]
[fs.statSync with Buffer "Error: Path must be a string without null bytes"