我们在日常使用braft-editor富文本框插件,可能会用到多组图片上传。。之前一直会因图片大,图片多,会卡死。

    解决方法:
            当用户要上传媒体文件时,系统将调用 handleImageUpload 函数来处理上传操作。

完整代码:

const [introduceContent, setIntroduceContent] = useState('');
  const options = {
    defaultValue: 18000, // 指定默认限制数,如不指定则为Infinity(无限)
  };
  BraftEditor.use(MaxeLngth(options));
  const handleEditorChange = (editorContent: any) => {
    const htmlContent = editorContent.toHTML();
    setIntroduceContent(htmlContent);
  };
	//在上传时候将富文本的图像文件转换成链接。
  const handleImageUpload = async (val: any) => {
    const file = val.file
    const fileFormData1 = new FormData();
    fileFormData1.append('file', file);
    fileFormData1.append('type', '1');
    //将图像文件和一些其他数据一起发送到服务器
    const img1: any = await UploadImg(fileFormData1);
    //代码调用val.success方法,传递一个包含图像URL和元数据的对象作为参数,表示图像上传成功。
    val.success({
      url: img1.data.filePath,
      meta: {
        id: 'your_image_id',
        alt: 'your_image_alt',
        title: 'your_image_title',
      },
    });
  }

return (
 <>
 <BraftEditor
            style={{ border: '1px solid #DCDFE6' }}
            maxLength={18000}
            placeholder="请输入内容"
            excludeControls={['emoji']}
            onChange={handleEditorChange}
          //  defaultValue={BraftEditor.createEditorState(data?.description)}
            media={{
              uploadFn: handleImageUpload,
            }}
          />
</>
)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日探险家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值