要搭建一个简易的上传文件夹功能,可以使用Node.js和Express框架来实现。以下是一个基本的示例代码:

  1. 首先,安装必要的依赖:
npm install express multer --save
  1. 创建一个名为'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');
});
  1. 创建一个名为'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>标签的webkitdirectorydirectory属性允许用户选择整个文件夹并上传。

  1. 创建一个名为'public'的文件夹,并在其中创建一个名为'uploads'的文件夹。

  2. 运行以下命令启动服务器:

node app.js

现在,打开浏览器,并访问http://localhost:3000,就可以看到一个文件上传的页面。选择一个文件夹并点击“Upload”按钮,服务器将会把整个文件夹上传到uploads文件夹中,并返回“File uploaded successfully!”的响应。


原文地址: https://www.cveoy.top/t/topic/o60J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录