📅  最后修改于: 2023-12-03 15:08:12.558000             🧑  作者: Mango
文件上传是网站开发中常用的功能之一,本文将介绍如何通过代码实现文件上传功能。
首先,我们需要在HTML中添加一个表单:
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
要注意的是,表单的enctype
属性必须设置为multipart/form-data
,否则文件上传将无法正常工作。
接下来,我们需要编写后端代码来处理文件上传请求。以Node.js为例,以下是一个简单的示例:
const express = require('express')
const multer = require('multer')
const app = express()
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname)
}
})
const upload = multer({ storage: storage })
app.post('/upload', upload.single('file'), (req, res) => {
res.send('文件上传成功!')
})
app.listen(3000, () => {
console.log('服务器已启动')
})
这段代码使用了multer中间件来处理文件上传。首先,我们创建了一个存储引擎storage
,指定了文件的保存路径和文件名。然后,创建一个multer实例,并传入存储引擎。最后,在/upload
路由中,我们使用upload.single()
方法来处理文件上传请求,将文件保存到指定的路径中。上传成功后,返回一个提示信息。
通过以上代码,我们可以实现一个简单的文件上传功能。当然,实际应用中还需要进行更多的安全性检查和错误处理。但是,基本的文件上传流程已经呈现出来了。