
假设是你公司配置接口服务器存图片:这种方式需要后端提供一个上传图片的接口,并返回图片的 url。你可以参考一下这段代码的实现:
import React, { useRef } from "react";
import E from "wangeditor";
function App() {
const editorRef = useRef(null);
React.useEffect(() => {
const editor = new E(editorRef.current);
// 配置上传图片的服务器地址
editor.config.uploadImgServer = "/upload-img";
// 配置返回的数据格式
editor.config.uploadImgHooks = {
customInsert: function (insertImg, result, editor) {
// result 是服务器端返回的结果
var url = result.url;
insertImg(url);
},
};
// 创建编辑器
editor.create();
}, []);
return <div ref={editorRef}></div>;
}
如果是要上传到阿里云或者其他服务器你可以参考下面的代码:
import React, { useRef } from "react";
import E from "wangeditor";
import OSS from "ali-oss";
function App() {
const editorRef = useRef(null);
React.useEffect(() => {
const editor = new E(editorRef.current);
// 配置阿里云 OSS 的参数
const client = new OSS({
region: "<Your region>",
accessKeyId: "<Your AccessKeyId>",
accessKeySecret: "<Your AccessKeySecret>",
bucket: "<Your bucket name>",
});
// 配置自定义上传图片的方法
editor.config.customUploadImg = async function (resultFiles, insertImgFn) {
// resultFiles 是 input 中选中的文件列表
for (let file of resultFiles) {
// 生成文件名
const fileName =
file.name.split(".")[0] +
"-" +
Date.now() +
"." +