实现分片上传、断点续传、秒传 (JS+NodeJS)(TypeScript)
// 引入需要的模块
import fs from 'fs';
import path from 'path';
import express from 'express';
import multer from 'multer';
// 设置存储配置
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/') // 确保这个文件夹已经存在
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now())
}
})
// 创建 multer 实例,使用上面定义的存储配置
const upload = multer({ storage: storage })
// 创建 express 应用
const app = express();
// 设置接收上传文件的路由和中间件
app.post('/upload', upload.single('file'), (req, res) => {
// 文件信息在 req.file 对象中
const file = req.file;
if (!file) {
return res.status(400).send('No file uploaded.');
}
res.send('File uploaded successfully.');
});
// 启动服务器
const port = 3000;
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
这段代码使用了Express框架和multer中间件来实现文件上传功能。它设置了文件上传的存储路径和文件命名规则,并定义了一个接收上传文件的路由。在实际部署时,你需要确保uploads/
文件夹存在,并且服务器有足够的权限来写入文件。
评论已关闭