关于 Vditor 图片上传后不能显示

本贴最后更新于 312 天前,其中的信息可能已经沧海桑田

使用 vditor 上传图片,后端成功返回了结果,但是 URL 绑定后没法正常显示

image.png

前端的相关代码,不知道问题是不是出在了"successMap"那里,望大神们指导一下...

            upload: {
              accept: 'image/*,.mp3, .wav, .rar',
              token: userId,
              fieldName: 'files', // 上传字段名称
              url: app.fileServiceUrl + '/file/uploadToOSS',
              linkToImgUrl: app.fileServiceUrl + '/file/uploadToOSS',
              multiple: false,
              filename: function (name) {
                console.log("filename:" + name);
                return name.replace(/[^(a-zA-Z0-9\u4e00-\u9fa5\.)]/g, '').
                  replace(/[\?\\/:|<>\*\[\]\(\)\$%\{\}@~]/g, '').
                  replace('/\\s/g', '')
              },
              format: function (files, res) {
                // 观察一下返回的数据结构
                console.log("files: " + files);
                console.log("res: " + res);

                return JSON.stringify({
                  "msg": res.msg,
                  "code": res.status,
                  "data": {
                    "errFiles": [],
                    "succMap": {
                      "filename": res.data,
                    }
                  }
                });
              }
            },
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    217 引用 • 1288 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    3919 引用 • 18772 回帖 • 442 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • KaloSora
    支持者 订阅者 作者

    这个 URL 我测试过,本地可以直接打开,嵌入到 img 标签里可以使用

  • KaloSora
    支持者 订阅者 作者

    问题已解决啦

    问题出在 format,后段要返回一个 Map,指定图片 URL 和图片的名称

                  format: function (files, res) {
    
                    // 字符串转换为对象
                    const { status, data, msg } = JSON.parse(res);
    
                    if (status == 200) {
                      return JSON.stringify({
                        "msg": msg,
                        "code": status,
                        "data": {
                          "errFiles": [],
                          "succMap": {
                            [data.imageName]: data.imageURL,
                          }
                        }
                      });
                    } else {
                      alert("图片上传失败: " + msg);
                      return;
                    }
                  }
    
  • xiaotian

    format 和 success error 不能一起定义,否则 format 不会执行 (踩坑结束 提醒后面的同学)

  • HoboCY

    楼主你好,我这边已经实现了 format 返回格式满足 api 要求,但是我现在是上传图片后插入了一个 a 标签。

    不知道该怎么实现示例上的上传图片后直接在 editor 里显示,想请教一下是否实现了这个功能

  • junbo

    大佬。你成功了吗

    ,请教一下

推荐标签 标签

  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 525 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    18 引用 • 21 回帖 • 15 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    59 引用 • 82 回帖 • 568 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    190 引用 • 120 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    159 引用 • 1332 回帖 • 1 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    872 引用 • 921 回帖 • 52 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    66 引用 • 878 回帖 • 167 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    21 引用 • 7 回帖 • 368 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖 • 191 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 2 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • 导航

    各种优质网址链接、内容导航。

    23 引用 • 157 回帖 • 2 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    65 引用 • 187 回帖 • 536 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    506 引用 • 666 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 529 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 27 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    63 引用 • 164 回帖 • 326 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    135 引用 • 267 回帖 • 429 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 6 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    36 引用 • 16 回帖 • 16 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 77 回帖 • 560 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    4 引用 • 15 回帖 • 399 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 556 关注
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    193 引用 • 354 回帖 • 268 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    21 引用 • 31 回帖 • 11 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    245 引用 • 1345 回帖
  • 安装

    你若安好,便是晴天。

    119 引用 • 1179 回帖