wangeditor 富文本编辑器上传图片时使用项目中图片选择器

/*
	实现思路:
	wangeditor 自定义上传图片按钮;
	通过 customBrowseAndUpload 方法,代替原有选择图片上传操作,打开项目中的图片选择器;
	通过 editorRef 中的 selection 方法记录当前光标位置;
	选择图片后确定方法中,将得到的图片 url 写入 const imgHtml = `<img src="${url}" />`;
	通过 editorRef 中的 select 方法聚焦光标到记录的位置;
	在通过 editorRef 中的 dangerouslyInsertHtml(imgHtml); 插入到富文本编辑器中;
*/

//wangeditor index.vue 中
props.editorConfig.MENU_CONF!["uploadImage"] = {
  //自定义选择图片 - 唤起图片选择器 (不调用其原本的上传图片)
  customBrowseAndUpload() {
    uploadImg.value = true;
    //获取并存储光标所在位置
    cursorPosition.value = editorRef.value.selection;
  }
};

//图片选择器选中确定调用
const confirm = (val: any) => {
  //这里我们返回数据的格式是 [{name:"",id:"",path:""...}]
  //需根据自己项目中图片选择器来给 url 赋值
  const imgUrl = selectImage.value[0].path;
  const imgHtml: string = `<img src='${imgUrl}' />`;
  //聚焦光标位置
  editorRef.value.select(cursorPosition.value);
  //将 img 写入富文本编辑框
  editorRef.value.dangerouslyInsertHtml(imgHtml); 
  uploadImg.value = false;
};
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在 Java 后端,你可以使用 Spring Boot 框架来实现上传图片的接口,并返回图片的 URL。具体实现步骤如下: 1. 配置文件上传的参数 在 Spring Boot ,我们可以通过在 `application.properties` 或 `application.yml` 文件配置文件上传的参数。以下是一个示例配置文件: ``` # application.yml spring: servlet: multipart: max-file-size: 10MB # 上传文件的最大大小 max-request-size: 10MB # 上传请求的最大大小 file-size-threshold: 1MB # 上传文件的阈值,超过该大小会写入磁盘 ``` 2. 编写上传图片的接口 在 Spring Boot ,我们可以使用 `@RestController` 注解来定义一个 RESTful 风格的接口,并使用 `@PostMapping` 注解来处理 POST 请求。以下是一个示例接口: ```java @RestController public class UploadController { @PostMapping("/upload") public Map<String, Object> upload(@RequestParam("file") MultipartFile file) { Map<String, Object> result = new HashMap<>(); if (!file.isEmpty()) { try { // 构造文件名,避免文件名重复 String filename = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS")) + "." + FilenameUtils.getExtension(file.getOriginalFilename()); String filepath = "/path/to/upload/dir/" + filename; // 保存文件的路径 // 将文件保存到服务器 file.transferTo(new File(filepath)); // 构造返回结果 result.put("errno", 0); result.put("data", new String[]{"/uploads/" + filename}); } catch (IOException e) { e.printStackTrace(); result.put("errno", 1); result.put("errmsg", "上传失败"); } } else { result.put("errno", 1); result.put("errmsg", "上传失败"); } return result; } } ``` 在上述代码,我们通过 `MultipartFile` 类型的参数获取上传的文件,并将文件保存到服务器。接口返回一个 Map 类型的 JSON 对象,其包含图片的 URL。 3. 配置 WangEditor上传图片接口 在前端使用 WangEditor 编辑器,我们可以通过 `editor.config.uploadImgServer` 参数来设置上传图片的接口。我们可以将该参数设置为我们刚才定义的上传图片接口的 URL。以下是一个示例代码: ```javascript editor.config.uploadImgServer = '/upload'; ``` 在用户上传图片后,WangEditor 会将图片发送到 `/upload` 接口,并等待接口返回包含图片 URL 的 JSON 对象。在接口返回成功后,WangEditor 会自动将图片插入到编辑器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

幼儿园里横走着

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

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

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

打赏作者

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

抵扣说明:

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

余额充值