可以编写一个用VScode输出的有上传和下载功能代码吗
时间: 2024-05-01 12:23:20 浏览: 7
当然可以,以下是一个使用VSCode输出的简单上传和下载功能代码示例,该代码使用Node.js和Express框架实现:
```
const express = require('express');
const multer = require('multer');
const upload = multer({ dest: 'uploads/' });
const fs = require('fs');
const app = express();
// 文件上传
app.post('/upload', upload.single('file'), (req, res) => {
const file = req.file;
console.log(file);
if (!file) {
const error = new Error('Please upload a file');
error.httpStatusCode = 400;
return next(error);
}
res.send(file);
});
// 文件下载
app.get('/download/:filename', (req, res) => {
const filename = req.params.filename;
const filePath = __dirname + '/uploads/' + filename;
const stat = fs.statSync(filePath);
res.writeHead(200, {
'Content-Type': 'application/octet-stream',
'Content-Length': stat.size,
'Content-Disposition': 'attachment; filename=' + filename,
});
const readStream = fs.createReadStream(filePath);
readStream.pipe(res);
});
app.listen(3000, () => console.log('Server started on port 3000'));
```
在上面的代码中,我们使用`multer`模块处理文件上传,将上传的文件保存在`uploads`文件夹中。在文件下载功能中,我们通过创建一个可读流和管道将文件发送给客户端进行下载。
请注意,这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。同时,您还需要自己实现前端页面来调用这些API来完成上传和下载操作。