Node.js简易文件夹上传功能实现教程
要搭建一个简易的上传文件夹功能,可以使用Node.js和Express框架来实现。以下是一个基本的示例代码:
- 首先,安装必要的依赖:
npm install express multer --save
- 创建一个名为'app.js'的文件,并添加以下代码:
const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();
// 设置文件上传的存储位置和文件名
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/'); // 存储在项目根目录下的uploads文件夹中
},
filename: function (req, file, cb) {
cb(null, file.originalname);
}
});
// 创建multer上传实例
const upload = multer({ storage: storage });
// 设置静态文件目录
app.use(express.static(path.join(__dirname, 'public')));
// 设置文件上传的路由和处理逻辑
app.post('/upload', upload.single('file'), function (req, res, next) {
if (!req.file) {
return res.status(400).send('No files were uploaded.');
}
res.send('File uploaded successfully!');
});
// 启动服务器
app.listen(3000, function () {
console.log('Server is running on port 3000');
});
- 创建一个名为'index.html'的文件,并添加以下代码:
<!DOCTYPE html>
<html>
<head>
<title>Upload Folder</title>
</head>
<body>
<h1>Upload Folder</h1>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" webkitdirectory directory multiple>
<input type="submit" value="Upload">
</form>
</body>
</html>
这个HTML表单中,<input>标签的webkitdirectory和directory属性允许用户选择整个文件夹并上传。
-
创建一个名为'public'的文件夹,并在其中创建一个名为'uploads'的文件夹。
-
运行以下命令启动服务器:
node app.js
现在,打开浏览器,并访问http://localhost:3000,就可以看到一个文件上传的页面。选择一个文件夹并点击“Upload”按钮,服务器将会把整个文件夹上传到uploads文件夹中,并返回“File uploaded successfully!”的响应。
原文地址: https://www.cveoy.top/t/topic/o60J 著作权归作者所有。请勿转载和采集!