justice2001 / halo-plugin-vditor

适用于Halo2.0的Vditor编辑器
GNU General Public License v3.0
21 stars 2 forks source link

即时渲染模式下拖拽图片base64显示过长 #9

Closed adozhao closed 8 months ago

adozhao commented 8 months ago

开启即时渲染模式,拖拽图片进行上传,文件会被转化成base64,内容显示过长,有数页之多,导致浏览器卡顿甚至假死的现象,无法正常使用和编辑,严重影响体验 Snipaste_2023-12-27_11-22-11

justice2001 commented 8 months ago

拖拽上传暂时没做,等有时间研究下halo的附件上传接口在搞吧。现在暂时可以用选择图片顶替下。

adozhao commented 8 months ago

拖拽上传暂时没做,等有时间研究下halo的附件上传接口在搞吧。现在暂时可以用选择图片顶替下。

可以简单搞,和halo支持的ByteMD插件一样,直接把拖拽给禁用就行了~

justice2001 commented 8 months ago

嗯嗯,今晚我先在1.3.4的版本里把这个禁用掉,然后1.4.0的时候我会去试着实现直接上传.

ruibaby commented 8 months ago

拖拽上传暂时没做,等有时间研究下halo的附件上传接口在搞吧。现在暂时可以用选择图片顶替下。

在 2.11 版本,编辑器的组件新增了一个 uploadImage 的 prop,用于调用 Halo 中实现的图片上传,只需要传入 File 即可。

类型:

const props = withDefaults(
  defineProps<{
    raw?: string;
    content: string;
    uploadImage?: (file: File) => Promise<Attachment>;
  }>(),
  {
    raw: "",
    content: "",
    uploadImage: undefined,
  }
);

然后在编辑器监听粘贴或者拖拽的时候调用 props.uploadImage() 即可,不需要在编辑器内调用接口。

具体文档会体现在:https://github.com/halo-dev/docs/pull/291

justice2001 commented 8 months ago

OKOK,等我回去看一下