微信小程序(二十五)微信小程序富文本编辑器editor上传图片

简介: 一般在做网站开发的时候,最开始使用的一般都是百度的ueditor,但是这个玩意好久不更新了,功能到时够用,就是UI以及其他的一些套件的视觉效果稍差。

一般在做网站开发的时候,最开始使用的一般都是百度的ueditor,但是这个玩意好久不更新了,功能到时够用,就是UI以及其他的一些套件的视觉效果稍差。

现在一般情况下会使用wangeditor,这个就相对现代的多,可以使用npm/yarn管理。对应的插件也还算丰富,基本使用大概是够了,但是相对于ueditor,功能还是能少一些。

关于微信小程序的富文本编辑器,微信官方给出的示例代码中图片上传功能是将图片上传至小程序的缓存中,代码如下所示:

javascript

复制代码

insertImage(e) {
    console.log(e);
    const that = this
    wx.chooseImage({
      count: 1,
      success: function (res) {
        console.log(res);
        that.editorCtx.insertImage({
          src: res.tempFilePaths[0],
          data: {
            id: 'abcd',
            role: 'god'
          },
          width: '80%',
          success: function () {
            console.log('insert image success')
          }
        })
      }
    })
  }

官方给出得到这个也没有问题,实现了前端的图片插入。

我这里封装的editor自定义组件图片上传也是同官方给出的示例一致,也是使用的小程序缓存。

但是在实际开发中,图片我们还是需要上传至服务器中的。

小程序上传文件需要使用到 wx.uploadFile 这个API,官方文档《wx.uploadFile》,这里我不做赘述,直接上代码:

javascript

复制代码

/**
     * @name: 富文本编辑器选择图片
     * @author: camellia
     * @date: 20211223
     */
    insertImage() {
      let self = this;
      wx.chooseImage({
        count: 1,
        success: (res) => {
          // 图片临时存放路径(数据流)
          let filePath = res.tempFilePaths[0];
          // 加密参数
          let str = utils.encryptCode({
            xxxxx: wx.getStorageSync("xxxx"),
            xxxx: self.data.xxxxxx,
          });
          // 发起上传图片请求
          // filePath:选择图片后生成的数据流url
          // constant.request_sign:请求加密字符串
          // str:加密参数
          API.uploadFileOfReport(filePath, constant.request_sign, str).then(
            (res) => {
              // 富文本编辑器插入图片
              self.editorInsertImg(res.data);
            }
          );
        },
      });
    },
    /**
     * @name: 富文本编辑器插入图片
     * @desc: 描述
     * @author: camellia
     * @params :  filePath 图片上传到服务器后后台返回的图片链接地址
     * @date: 20211223
     */
    editorInsertImg(filePath) {
      let self = this;
      // 富文本编辑器插入图片方法
      self.editorCtx.insertImage({
        src: filePath,
        width: "100%",
        data: {
          id: "imgage",
          role: "god",
        },
        // height: '50px',
        // extClass: className
      });
    },

以上的代码便是我在实际开发中使用到的图片上传的代码。直接将这部分代码粘贴到上一篇的自定义富文本组件的js文件中即可使用,当然,需要修改一下上传请求部分的代码。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客:guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

目录
相关文章
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
260 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
391 7
|
11月前
|
人工智能 小程序 前端开发
【一步步开发AI运动小程序】十八、如何识别用户上传图片中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】为小程序提供人体、运动及姿态检测的AI能力,本地引擎支持10余种运动,无需后台服务,具备快速、低成本等优势。本文介绍如何通过Canvas方案读取用户上传图片的像素数据,实现人体检测与姿态分析功能,代码简单高效,适合快速集成。更多内容欢迎交流!
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3596 12
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
3664 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
移动开发 小程序 前端开发
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
开发工具
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
vi编辑器,现在vi\vim是文本文件进行编辑的最佳选择,Vim是vi的加强的版本,兼容vi的所有指令,vim编辑器有三种工作模式,一开始进入的是命令模式,命令模式i是插入的意思,两下y+p复制内容
|
开发工具
Vim 编辑器:高效文本编辑的瑞士军刀
**Vim 概览:** Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。
338 5

热门文章

最新文章