Vue+Node(express)+ ElementUI实现各种功能(二)

接着我的上一篇继续写,今天实现上传图片到数据库以及存储到本地文件

一.在admin文件夹中操作

我们还是通过element-ui自带的组件来上传我们的图片

<el-upload
class="avatar-uploader"
:action="$http.defaults.baseURL +'/upload'"
:show-file-list="false"
:on-success="afterUpload"
>
<img v-if="model.icon" :src="model.icon" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>

建立一个http.js文件

import axios from "axios";
import Vue from 'vue'
const http = axios.create({
  baseURL: "http://localhost:3000/admin/api"
});
export default http;

在main.js中

import http from "./http";
Vue.prototype.$http = http; //这样就能全局使用http

二.在serve文件夹中操作

在routes文件下的admin中的index.js

  //上传图片接口
const multer = require('multer') //multer实现单图、多图上传
const upload = multer({dest:__dirname+'/../../uploads'}) //上传到本地文件的路径
app.post('/admin/api/upload',upload.single('file'),async(req,res)=>{
const file = req.file
file.url =`http://localhost:3000/uploads/${file.filename}`
res.send(file)
})

在主index.js里面

app.use('/uploads',express.static(__dirname+'/uploads')) //静态资源路径

完事,下一篇写后台管理系统的登录页面,token验证外加前端路由前置钩子验证

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值