完成文件上传和下载功能代码
时间: 2024-02-25 14:54:48 浏览: 27
文件上传和下载功能的代码实现通常涉及到两个方面:前端代码和后端代码。下面是一个简单的示例,以 Node.js 和 Express 框架为例,演示如何实现基本的文件上传和下载功能。请注意,这个示例并不是最好的实现方式,仅供参考。
前端代码:
文件上传:
```html
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
```
文件下载:
```html
<a href="/download?filename=test.txt">Download</a>
```
后端代码:
文件上传:
```javascript
const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' }); // 设置上传文件的存储路径
app.post('/upload', upload.single('file'), (req, res, next) => {
const file = req.file;
if (!file) {
const error = new Error('Please upload a file');
error.httpStatusCode = 400;
return next(error);
}
res.send('File uploaded successfully');
});
```
文件下载:
```javascript
app.get('/download', (req, res) => {
const fileName = req.query.filename;
const filePath = __dirname + '/uploads/' + fileName;
res.download(filePath);
});
```
在这个示例中,我们使用了 multer 中间件来处理文件上传,并设置了上传文件的存储路径。在文件上传处理函数中,我们判断了上传的文件是否存在,如果不存在则返回错误信息。在文件下载处理函数中,我们使用了 express 的 res.download() 方法来实现文件下载功能,该方法会将文件作为附件自动下载到客户端。