hinesboy / mavonEditor

mavonEditor - A markdown editor based on Vue that supports a variety of personalized features
http://www.mavoneditor.com/
MIT License
6.42k stars 917 forks source link

[Question] md文件(带图片)保存后,回显图片控制的问题 #682

Open PYguldan opened 3 years ago

PYguldan commented 3 years ago

💬 Questions and Help

我将带图片的md存到服务器后,以后再通过mavon-editor来打开,怎么对已上传的图片进行管理。本来上传完了,这里是可以预览、删除md文件中的图片的,二次打开这里就是空的了。 question.png

PYguldan commented 3 years ago

还有我想问一下添加图片链接这个功能,有提供api方法吗,

PYguldan commented 3 years ago

我用这个方法,md文本中并没有插入(图中的md文本那个是本来就有的),然后在这个地方会多一个none的图片 this.$refs.md.$imgAddByUrl("myFile", "http://127.0.0.1:5555/10/timg-2021040602384292.jpg") question2.png

warriorBrian commented 3 years ago

我也有此问题,这个问题得到解决了么?

yushk commented 3 years ago

@warriorBrian 可以通过imgAdd 的回调函数 获取图片文件,将图片文件保存至你们自己的图片服务器,用图片的url 替换markdown 编辑框内的文件名

一下是将文件名替换成 图片地址的实现

 let url =res.data
            let name = $file.name
            if (name.includes('-')) {
              name = name.replace(/-/g, '')
            }
            let content = this.editorHTML
            // 第二步.将返回的url替换到文本原位置![...](0) -> ![...](url)  这里是必须要有的
            if (content.includes(name)) {
              let oStr = `(${pos})`
                let nStr = `(${url})`
                let index = content.indexOf(oStr)
                let str = content.replace(oStr, '')
                let insertStr = (soure, start, newStr) => {
                  return soure.slice(0, start) + newStr + soure.slice(start)
                }
                this.editorHTML = insertStr(str, index, nStr)
              }
echo-xiaozhi commented 2 years ago

不黑不吹 真拉胯 有问题 来找我吧