Vue整合wangEditor图片上传失败解决方案

最近项目需要,在vue里加入富文本,用来发表文章,第一次接触Vue整合富文本。
于是去网上查了一下。网上一大堆,但是都没能解决图片上传问题,报了一堆错。

错误代码
错误示范。想着重写一下他的上传方法。但是使用post请求发现这个formData是空的。request里没有值。,在后台输出也报了null。

既然重写不行,就来个暴力点的、直接改源代码。
在这里插入图片描述
这些是wangEdit的控件。我们要改的是插入图片的image

直接 Alt + 点击customConfig 进入源代码

搜索 uploadImgServer 这里修改上传的图片接口地址
以及以64Base显示

在这里插入图片描述

搜索image,一直找到触发选择图片
在这里插入图片描述

找到选择图片完毕,这里选择文件完成之后就会进行上传,我们进uploadImg上传方法

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
为了在Vue3中使用wangeditor并实现上传图片功能,需要进行以下步骤: 1. 安装wangeditor和axios ```shell npm install wangeditor axios --save ``` 2. 在组件中引入wangeditor和axios ```javascript import WangEditor from 'wangeditor' import axios from 'axios' ``` 3. 在组件的mounted钩子函数中初始化wangeditor ```javascript mounted() { const editor = new WangEditor('#editor') editor.config.uploadImgServer = '/upload' // 上传图片的接口地址 editor.config.uploadFileName = 'file' // 上传图片的文件名 editor.config.uploadImgHeaders = { // 上传图片时需要携带的请求头 Authorization: 'Bearer ' + localStorage.getItem('token') } editor.config.uploadImgHooks = { // 上传图片的回调函数 customInsert: function (insertImg, result, editor) { if (result.code === 200) { insertImg(result.data.url) } else { alert('上传失败') } } } editor.create() } ``` 4. 在组件中添加一个textarea元素,并将其id设置为editor ```html <template> <div> <textarea id="editor"></textarea> </div> </template> ``` 5. 在后端实现上传图片的接口,并将其地址填写到第3步中的uploadImgServer属性中 ```javascript 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) => { const file = req.file if (!file) { const error = new Error('Please upload a file') error.httpStatusCode = 400 return next(error) } res.send({ code: 200, data: { url: 'http://localhost:3000/' + file.path } }) }) app.listen(3000, () => { console.log('Server started on port 3000') }) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值