Vue项目如何结合element-ui实现文件上传功能?下面web建站小编给大家简单介绍一下具体实现代码!
完整代码如下:
//前端代码 <template> <div class="upload-form"> <el-upload :action="serverUrl" :on-success="uploadSuccess" :headers="headers" :before-upload="beforeUpload" :on-error="uploadError"> <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="upload-tip">只能上传jpg/png文件,且不超过2MB</div> </el-upload> </div> </template> <script> import axios from 'axios' export default { data () { return { serverUrl: '/api/upload', headers: { 'Content-Type': 'multipart/form-data' } } }, methods: { beforeUpload (file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' const isLt2M = file.size / 1024 / 1024 < 2 if (!isJPG) { this.$message.error('上传头像图片只能是 JPG/PNG 格式!') } if (!isLt2M) { this.$message.error('上传头像图片大小不能超过 2MB!') } return isJPG && isLt2M }, uploadSuccess (response) { console.log(response.data) this.$message.success('头像上传成功!') }, uploadError (error) { console.log(error) this.$message.error('上传头像图片失败!') }, uploadFile (file) { const formdata = new FormData() formdata.append('file', file) axios.post(this.serverUrl, formdata, { headers: this.headers }).then((response) => { this.uploadSuccess(response) }).catch((error) => { this.uploadError(error) }) } } } </script> <style scoped> .upload-form { margin-top: 20px; text-align: center; } .upload-tip { margin-top: 10px; color: #999; } </style>
//后端服务器 const express = require('express') const bodyParser = require('body-parser') const multer = require('multer') const app = express() const upload = multer({ dest: 'uploads/' }) app.use(bodyParser.json()) app.use(bodyParser.urlencoded()) app.post('/api/upload', upload.single('file'), (req, res) => { console.log(req.file) res.status(200).json({ success: true, message: 'File uploaded successfully!' }) }) app.listen(3000, () => { console.log('Server listening on port 3000') })
标签: element-ui, Vue文件上传
上面是“Vue项目如何实现文件上传(附完整代码)”的全面内容,想了解更多关于 vuejs 内容,请继续关注web建站教程。
当前网址:https://ipkd.cn/webs_4863.html
workflows工作流
- 一座精致透明的白瓷人物雕塑comfyui工作流
- 一只迷人的黑豹ComfyUI工作流
- 金属埃及人ComfyUI工作流
- 一座生动的点彩主义灯塔ComfyUI工作流
- 坐落在白雪覆盖的广阔平原上2只可爱的雪豹
- 一个破旧的工厂,一个骷髅雕像
- 一只竹节虫ComfyUI工作流
- 外星人ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!