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

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

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

“企动社群”的后台接口我已经写完,页面采用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....

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

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

thinkphp ajax jq 二级联动笔记

折腾了十来个小时终于弄出来了,网上有很多例子,但是用来进入项目使用,总是出错,所以在此记录一下,以便以后能用到。需求:在后台的添加商品中,有两个选择框,第一个是栏目选择,第二个是品牌,功能:选择第一个...

php的数据库连接单例模式思考

最近在做一个客服聊天的插件,无意中考虑到数据库使用单例模式的问题。我当时的疑问是: 数据库用了单例模式  每个用户去访问这个应用 这个单例模式的数据库资源是不是被每个用户共享的?&...

一台云服务器配置两个网站

一台云服务器配置两个网站

一台云服务器配置两个网站最近一直在烦恼,一台云服务器怎么配置两个网站呢?我在本地的win10环境下配置apache的两个虚拟主机和两个ip可以成功的用不同的地址访问到不同的www下的目录。操作如图:1...

apache设置缓存

在配置文件输入ExpiresActive On    ExpiresDefault “access plus 30 days” 欢迎大家来校园淘物站的论坛玩玩哦...

发表评论    

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