若以框架 vue富文本字符串中获取图片的存储路径

2023-11-20

若依的富文本
在这里插入图片描述
字符串是上述格式

我们要获取以下格式 (就是图片的存储路径)
有几个步骤

第一步
main.js中添加两行代码
在这里插入图片描述

import axios from 'axios'
Vue.prototype.$axios= axios

第二步
Edit包下增加 以下代码
在这里插入图片描述

<div class="editor" ref="editor" :style="styles" @paste="onPaste($event)"></div>
具体是这个代码
@paste="onPaste($event)"

在这里插入图片描述

(1)
methods中增加

/**监听富文本编辑器的粘贴事件  针对图片进行操作 */
     onPaste(evt) {
      // 获取解析 粘贴的内容
      //先判断粘贴的内容是否是图片
      if (
              evt.clipboardData &&
              evt.clipboardData.files &&
              evt.clipboardData.files.length
          ) {
              evt.preventDefault();
              [].forEach.call(evt.clipboardData.files, (file) => {
                  if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
                      return;
                  }
                  const formData = new FormData();
                  formData.append("file", file);
                  //带请求头过验证
                  const config = {
                    headers:{
                      "Authorization": "Bearer " + getToken()
                    }
                  };
                  this.$axios.post(`${process.env.VUE_APP_BASE_API}/common/upload`, formData,config).then(
                      res => {
                        console.log(res);
                          if (res.data.code == 200) {
                              console.log(res.data.fileName)
                              let length = this.Quill.getSelection().index; //光标位置
                              // 插入图片地址
                              this.Quill.insertEmbed(length, "image", res.data.url);
                              // 光标后移一位
                              this.Quill.setSelection(length + 1);
                          } else {
                              this.$message({
                                  message: res.data.message,
                                  type: 'warning'
                              });
                          }
                      })
              });
          }
    },

字符串为这种格式
在这里插入图片描述

<p><img src=\"http://localhost:8080/profile/upload/2023/06/09/image_20230609142821A006.png\"></p>

(2)methods中增加

 /**监听富文本编辑器的粘贴事件  针对图片进行操作 */
    onPaste(evt) {
      // 获取解析 粘贴的内容
      //先判断粘贴的内容是否是图片
      if (
              evt.clipboardData &&
              evt.clipboardData.files &&
              evt.clipboardData.files.length
          ) {
              evt.preventDefault();
              [].forEach.call(evt.clipboardData.files, (file) => {
                  if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
                      return;
                  }
                  const formData = new FormData();
                  formData.append("file", file);
                  //带请求头过验证
                  const config = {
                    headers:{
                      "Authorization": "Bearer " + getToken()
                    }
                  };
                  
                  this.$axios.post(`${process.env.VUE_APP_BASE_API}/common/upload`, formData,config).then(
                      res => {
                        console.log(res);
                          if (res.data.code == 200) {
                              console.log(res.data.fileName)
                              let length = this.Quill.getSelection().index; //光标位置
                              // 插入图片地址
                              this.Quill.insertEmbed(length, "image", "/dev-api"+res.data.fileName);
                              console.log(res.data.url)
                              // 光标后移一位
                              this.Quill.setSelection(length + 1);
                          } else {
                              this.$message({
                                  message: res.data.message,
                                  type: 'warning'
                              });
                          }
                      })
              });
          }
      
      // let text = (event.clipboardData || window.clipboardData).getData("text");
      // console.log("text", text);
    },

以上字符串改为

<p><img src="/dev-api/profile/upload/2023/06/09/image_20230609103058A002.png"></p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

若以框架 vue富文本字符串中获取图片的存储路径 的相关文章

随机推荐

  • webpack高版本configuration.module has an unknown property ‘loaders‘

    webpack更换高版本后报错 webpack cli Invalid configuration object Webpack has been initialized using a configuration object that
  • ffmpeg已支持解码avs2.0

    https ffmpeg org pipermail ffmpeg devel 2016 November 202446 html PS 目前应该还是个提交的patch 待审核
  • 二叉搜索树(BST)的基本操作

    二叉搜索树 BST 的创建 增加 删除 查找 需要注意 BST的左子树必小于根 右子树必大于根 所以不存在值相同的结点 include
  • 计算机网络(自顶向下方法)中的PoP

    目录 前言 问题 解决 前言 在读 计算机网络 自顶向下方法 时 看到在讲网络结构的时候提到过PoP 但是其中有一句话始终不理解 不通顺 上网搜索也没发现相关解释文章 因此 在我把这个问题解决后 就写下了这篇文章 希望可以帮助到其他人 问题
  • Eclipse常用插件下载地址

    Eclipse常用插件下载地址 官方网站http www eclipse org downloads index php下载eclipse的最新版本 Eclipse 项目资源中心 http www ibm com developerwork
  • 2、Java 环境搭建

    Java 环境搭建 1 JDK 的简介 JDK Java Development Kit 是一组实现Java程序开发与运行的本地环境 在实际的项目的开发与运行过程之中 往往都会选择一些比较好用的桌面系统 Windows MacOS 进行开发
  • linux下定时器timer_create()的使用

    一 采用新线程派驻的方式 注 编译时 需加上 lrt include
  • Spring IoC依赖注入的实现

    看了 spring技术内幕 的第二章 学习了spring的IoC容器的实现 对其做了浅显地分析 依赖注入的时机 如果配置文件有配置lazy init 那么依赖注入的时机发生在用户向IoC 容器索取bean的时候 即调用beanfactory
  • Django基础2——URL路由系统

    文章目录 一 基本了解 二 url路由分发 三 正则匹配 四 压缩归档超链接 优化一 使用分组名称功能 优化二 使用url名称功能 4 1 使用功能之前效果展示 4 2 使用功能之后效果展示 一 基本了解 概念 路由系统就是URL路径和视图
  • 字符串匹配算法总结

    转自 http blog csdn net zdl1016 archive 2009 10 11 4654061 aspx 我想说一句 我日 我讨厌KMP KMP虽然经典 但是理解起来极其复杂 好不容易理解好了 便起码来巨麻烦 老子就是今天
  • 面向对象设计 简述

    面向对象设计 面向对象的特性 将数据封装于类中 完全面型对象 封装 隐藏细节 只给出使用信息 公共的访问方式 隐藏对象的属性和实现细节 继承 继承就是子类继承父类的特征和行为 使得子类对象 实例 具有父类的实例域和方法 或子类从父类继承方法
  • nodeJs(express)文件上传配置

    用node作为服务器端 在需要上传文件到后台时 后台需要相应配置 简单配置如下 1 安装multer依赖 npm install multer save 渣渣前台的渣渣后台技术有限 不是自己配置的node服务器 使用的是webstorm自带
  • Android客户端apk自动检测更新自动下载自动安装的实现方法

    改进了一个可以检测版本更新自动下载自动安装的客户端升级方案 在下载之前删除之前的历史下载文件 减少垃圾数据 先给出核心类 public class DownloadService extends Service private Downlo
  • airpodspro没有弹窗_安卓党能用 AirPods Pro ?这样操作可以完美适配

    AirPods Pro一出现就引爆了市场 高达2000元的售价没能阻拦人们对它的狂热 目前AirPods已经在官网全面缺货 发货等待期甚至多达一个月 这是因为AirPods Pro的产品力实在太过出色 比它降噪强的没它小 比它小的没它降噪
  • C# A potentially dangerous 问题解决

    A potentially dangerous Request Path value was detected from the client 如果在页面中出现上述错误 只需在页面的头文件添加validateRequest false 即可
  • 【Vue基础】Vuex全局管理的基本代码结构及其使用

    Vuex全局管理的基本代码结构及其使用 一 代码结构及其使用 1 state 提供唯一的公共数据源 组件访问 state 中数据的第一种方式 this store state 全局数据名称 组件访问 state 中数据的第二种方式 mapS
  • UE4 使蓝图连接线出现小箭头标志

    当我们写的蓝图杂乱无章 甚至不能看清执行顺序的时候 只需要在偏好设置里设置一下就可以清晰的看清蓝图的执行顺序
  • 区块链+物联网 BOT

    不可否认 我们的一只脚已经迈入万物智联时代 但另一只脚迈入还存在一定的阻碍 区块链技术的出现将会促进这一进程的发展 智能音响 主人你好 我是小Q 现在是早上08点29分 上班时间要到咯 智能门锁 主人你摔疼我了 你总是这样匆忙 下次赶紧麻溜
  • 安装Python第三方库

    视频版教程 Python3零基础7天入门实战视频教程 在Python的标准安装中 包含了一组自带的模块 这些模块被成为 标准库 比如常用的math random datetime os json等等 此外 还有很多的第三方模块 或者叫做库也
  • 若以框架 vue富文本字符串中获取图片的存储路径

    若依的富文本 字符串是上述格式 我们要获取以下格式 就是图片的存储路径 有几个步骤 第一步 main js中添加两行代码 import axios from axios Vue prototype axios axios 第二步 Edit包