iview使用vue-quill-editor自定义上传图片的问题解决。

liyuzhao7年前开发项目遇到的问题2480

最近虽然辞职了,但是以前的老板外包给我以前负责的项目,想让我做好社群的独立后台,所以打算花二十天做完。

“企动社群”的后台接口我已经写完,页面采用iview,数据还是由我来接,真是件麻烦的事,不过对于这些已经很熟悉,所以接起数据来很顺畅,但是其中遇到了一些非常棘手的问题。

问题:微擎的上传图片、文件是封装成js、php函数结合的一个插件,看过源码,挺复杂,能做出来,但是消耗的时间非常大,所以采用iview自带的上传来解决。微擎封装好的百度编辑器,上传图片也是被他们修改过,上传图片点击事件直接是采用微擎自带封装的上传,所以非常的棘手。目前独立后台采用的编辑器是vue-quill-editor。该插件的作者提供了一个在vue页面生命周期的时候可以调用的事件。

需求:独立后台编辑器上传图片效果和微擎自带的上传图片效果一致。

解决:经过大量的资料查询,终于已经解决该问题,步骤如下:

第一步:引入并注册vue-quill-editor插件,如图

image.png

第二步:在mounted生命周期事件中加入如图所示的代码:

image.png

说明:该代码的意思是,作者提供的一个方法,该方法是触发点击上传图片时会返回一个image的参数,该参数为true,有了这个参数,可以触发一个iview的图片上传事件。

第三步:html代码如图:

image.png

说明:upload是iview的一个上传插件,具体可以去查看iview的文档。在里面我加入了一个隐藏的button,该button就是为了可以模拟提交上传图片的。

第四步:触发的时候对上传的图片进行处理,这一步是在你的php后台做处理,该处理自行写,我就不发出来了

第五步:上传成功后,对编辑器的内容进行处理,editUploadSuc是上传成功后触发的函数,代码如图:

image.png

说明:this.formItem.content是我原本编辑器的内容,res.img是我经过php处理后返回的一个img标签,标签src的值就是上传的图片的地址(这里都是php拼接好的)。这里注意一下,如果你在后端处理这个img标签,一定要用htmlspecialchars_decode进行处理,否则编辑器不会显示出图片。

效果如图:

image.png

如果有问题可以留言探讨~想要看代码的可以联系我,因为这个外包是签订合同的,所以代码不能外泄,但是我可以分享我解决这个问题的代码。

相关文章

chm索引不能使用问题

想查查mysql的一些编程需要的函数,但是在win7 下chm索引用不了,上网查了很久,是因为某些全文的索引没有打开。在运行那里输入:regsvr32 hhctrl.ocxregsvr32 itss....

vue的axios的post跨域问题!

最近在学vue,用axios的post跨域请求api的时候出现了问题。后面查资料,发现是跨域请求是有区别的。一种是简单的跨域请求:get另一种是非简单的跨域请求:post put 等等 。请看http...

hyperf 启动、重启、停止、文件变化监听命令包

鉴于hyperf1.1+还没有重启等命令,本地调试比较麻烦,所以使用了FanchangWang写的代码封装成了一个包,方便使用。该扩展包完全使用了FanchangWang写的代码,非常感谢Fancha...

iview使用v-for循环数据的更新问题。

iview使用v-for循环数据的更新问题。

最近在接数据中,遇到了一个v-for循环数组获取数据,但是这个数组可能会被操作,所以这个数组要实时更新。用了vue的双向绑定,但是不好用,经过查资料,发现:由于 JavaScript 的限制, Vue...

在 hyperf 中使用 MongoDB

欢迎使用 phper666/mongo-db,地址:https://github.com/phper666/mongo-db1、默认使用mongodb提供的库来封装,官方git地址:https://g...

jq把数组里面的字符串数字转换为整形的

最近做项目遇到了一个问题。描述如下:生成一个统计图,必须要用到data=[1,2,3,4]这类型的数据,但是我从前台用ajax传数据到后台,后天返回了json格式,得到类似于data="1,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。