后端部分:
首先下载multiparty,这个模块可以让你接受图片
// 可以接受图片
const multiparty = require('multiparty')
// 配置图片上虚拟路由
router.use("/upload", express.static("upload"))
/upload为路由,相当于上传图片到什么地方
// 上传图片
router.post('/myupload', (req, res) => {
let form = new multiparty.Form()
form.uploadDir = 'upload'
form.parse(req, (err, formData, imgData) => {
// 将上传的图片传递给前端
res.send({
path: imgData.file[0].path
})
})
})
这个方法可以让你接受到从前端接受到的图片,为post传值
前端部分(使用了element-ui的图片上传)
<el-image :src="'http://localhost:3000/' + list.img"></el-image>
<el-upload :show-file-list='false' action="http://localhost:3000/myupload" :on-success="success">
<i class="qq"></i>
<img v-if="imageUrl" :src="imageUrl" class="avatar">
</el-upload>
这里的:src为本地的路径,可以改变路径
// 上传图片
success(res) {
this.imageUrl = URL.createObjectURL(file.raw);
this.list.img = res.path
},