微信小程序(二十五)微信小程序富文本编辑器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

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

目录
相关文章
|
4月前
|
存储 安全 数据安全/隐私保护
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
Django 后端架构开发:富文本编辑器权限管理与 UEditor 、Wiki接入,实现 Markdown 文本编辑器
177 0
|
3月前
|
JavaScript 前端开发 API
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
本文介绍了如何在Vue 3项目中使用v-md-editor组件库来创建markdown编辑器和预览组件。文章提供了安装步骤、如何在main.js中进行全局配置、以及如何在页面中使用VMdEditor和VMdPreview组件的示例代码。此外,还提供了一个完整示例的链接,包括编辑器和预览组件的使用效果和代码。
vue3 v-md-editor markdown编辑器(VMdEditor)和预览组件(VMdPreview )的使用
|
2月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
965 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
4月前
|
JavaScript
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用
这篇文章介绍了如何在Vue 2.X和Vue 3.X项目中封装和使用Monaco Editor在线代码编辑器,包括安装所需依赖、创建封装组件、在父组件中调用以及处理Vue 3中可能遇到的问题。
803 1
基于Vue2.X/Vue3.X对Monaco Editor在线代码编辑器进行封装与使用
|
3月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
4月前
|
移动开发 小程序 前端开发
|
4月前
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
4月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
4月前
|
存储 JavaScript 前端开发
Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】
文章展示了在Vue项目中通过集成Quill富文本编辑器实现公告功能的完整开发过程,包括前端的公告发布、修改、删除操作以及后端的数据存储和处理逻辑。
Vue中通过集成Quill富文本编辑器实现公告的发布。Vue项目中vue-quill-editor的安装与使用【实战开发应用】
|
4月前
|
小程序 前端开发 JavaScript
微信小程序实现微信支付(代码和注释很详细)
微信小程序实现微信支付(代码和注释很详细)
下一篇
DataWorks