fei-free
关注
134121 号成员,2024-03-15 09:22:27 加入
2
个人主页 浏览
1h0m
在线时长
  • vditor 上传的图片怎么直接显示成图片

    2024-03-27 23:41

    核心是:succMap,springboot 服务器 返回该图片的访问地址,才能显示本地图片

    upload2.png
    upload1.png
    upload3.png

    我也是找了两天才成功的,希望大家有运气看到,能帮助到你很开心

  • Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式

    2024-03-25 17:23

    我已经连接了 springboot,成功将图片上传到了本地路径,但是为什么图片不出来,看不到,代码如下:如果可以,请指出具体代码

       upload: {
                accept: 'image/*,.mp3, .wav, .rar',
                // token: 'test',
                // withCredentials:true,
                linkToImgUrl:'',
                linkToImgUrl: '/api/upload/fetch',
                // url: 'http://localhost:8080/upload/photos',
                handler: async (files: File[]) => {
                        try {
                        const responses = await Promise.all(
                            files.map(async (file) => {
                            // 发送POST请求并处理上传逻辑
                            const formData = new FormData();
                            formData.append('file', file);
                            console.log('file:'+file)
                            const response = await fetch('http://localhost:8080/upload/photos', {
                                method: 'POST',
                                body: formData,
                            });
           
                            // 假设服务器返回JSON数据,其中包含上传成功后的文件URL
                            const data = await response.json();
                            return data.fileUrl;
                            })
                        );
                        // 返回的是一个包含每个文件URL的数组
                        return responses as Promise<string[]>;
                        } catch (error) {
                        // 当发生错误时,返回null或Promise.resolve(null),具体取决于组件的要求
                        console.error('Upload error:', error.message);
                        return Promise.resolve(null);
                        }
    
                    },
        },
    
  • Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式

    2024-03-18 15:16

    Vditor.outlineRender(),我用的是 "vditor": "3.8.13", 版本,失效了为什么

  • Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式

    2024-03-18 11:34
     <div id="preview"></div>
        <div id="sidebar" class="vditor-outline"></div>
    
        <script type="module">
      // import Vditor from "vditor";
      import Vditor from "vditor/dist/index.min.js";
    
      async function renderMarkdownToPreview() {
        const previewElement = document.getElementById('preview');
    // 假设 Markdown 文本来自某个源
        const markdownText = `# 教程
    这是一篇讲解如何正确使用 **Markdown** 的排版示例
    # 语法指导
    ## 普通内容
    这段内容展示了在内容里面一些排版格式
    ## 提及用户
    @Vanessa 通过 @User 可以在内容中提及用户,被提及的用户将会收到系统通知。
    ## 表情符号 Emoji
    支持大部分标准的表情符号,可使用输入法直接输入,也可手动输入字符格式。
    ### 一些表情例子
    :smile: :laughing:`;
    // 将 Markdown 转换成 HTML
    const html = await Vditor.md2html(markdownText);
    // 更新预览区域的内容
    previewElement.innerHTML = html;
          // 创建并填充目录内容
          const outlineElement = document.getElementById('sidebar');
          Vditor.outlineRender(outlineElement, markdownText);
    
    }
    renderMarkdownToPreview();
    

    现在就是无法把目录加载到边栏里,这是什么原因,html 页面是没有初始化吗?是下面的介绍的吗?

     const initOutline = () => {
        const headingElements = []
        Array.from(document.getElementById('preview').children).forEach((item) => {
          if (item.tagName.length === 2 && item.tagName !== 'HR' && item.tagName.indexOf('H') === 0) {
            headingElements.push(item)
          }
        })
    
        let toc = []