是的,您可以使用Node.js和EJS来显示上传到您的文件中的PDF。下面是一个简单的示例代码:
app.js
的Node.js文件,并在其中添加以下代码:const express = require('express');
const multer = require('multer');
const path = require('path');
const ejs = require('ejs');
// 设置存储引擎
const storage = multer.diskStorage({
destination: './uploads',
filename: function(req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
}
});
// 初始化上传
const upload = multer({
storage: storage,
limits: { fileSize: 1000000 } // 限制文件大小为1MB
}).single('pdfFile');
// 初始化Express应用
const app = express();
// 设置EJS模板引擎
app.set('view engine', 'ejs');
// 设置静态文件夹
app.use(express.static('./public'));
// 处理文件上传
app.post('/upload', (req, res) => {
upload(req, res, (err) => {
if (err) {
console.log(err);
res.render('index', { msg: err });
} else {
if (req.file == undefined) {
res.render('index', { msg: '请选择要上传的文件' });
} else {
res.render('index', { msg: '文件上传成功', file: `uploads/${req.file.filename}` });
}
}
});
});
// 渲染首页
app.get('/', (req, res) => {
res.render('index');
});
// 启动服务器
const port = 3000;
app.listen(port, () => console.log(`服务器正在运行,端口号:${port}`));
index.ejs
的EJS模板文件,并在其中添加以下代码:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>文件上传</title>
</head>
<body>
<h1>文件上传</h1>
<% if (msg) { %>
<p><%= msg %></p>
<% } %>
<form action="/upload" method="POST" enctype="multipart/form-data">
<input type="file" name="pdfFile">
<input type="submit" value="上传">
</form>
<% if (file) { %>
<embed src="<%= file %>" width="500" height="375" type="application/pdf">
<% } %>
</body>
</html>
uploads
的文件夹,用于存储上传的PDF文件。node app.js
启动服务器。http://localhost:3000
,您将看到一个文件上传表单。选择一个PDF文件并点击上传按钮。这样,您就可以使用Node.js和EJS来显示上传到您的文件中的PDF了。请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云