• AVUE 富文本编辑器 avue-plugin-ueditor 图片上传 ver.0.2.7


    avue-plugin-ueditor 版本:0.2.7


    背景:

    我之前写的一篇基于0.2.3版本,那个版本bug较多,但是改改还可以用.今天有时间逛了一下gitee,发现竟然更新了0.2.7版本,拷打真的有用!然后我项目直接更新,运行项目提示404 NOT FOUND,说明配置更改了。经过参考与研究后发现了与之前写法的区别。这里直接给出样例供参考。

    样例:

    说明:依然是基于avue crud开发.而非官网给出的avue-form的样例.

    我新建了一个案例表,对case表进行CRUD操作.

    case.js:

    1. {
    2. "type": "input",
    3. "label": "案例名称",
    4. "prop": "name"
    5. }, {
    6. "type": "datetime",
    7. "label": "应用时间",
    8. "prop": "appDate",
    9. "format": 'yyyy-MM-dd',
    10. "valueFormat": 'yyyy-MM-dd HH:mm:ss',
    11. }, {
    12. "type": "input",
    13. "label": "客户户对象",
    14. "prop": "customer"
    15. }, {
    16. // "type": "ueditor",
    17. "component": 'avueUeditor',
    18. "label": "案例介绍",
    19. "prop": "content",
    20. "span": 24,
    21. "action": "/scm/file/upload",
    22. "data": {
    23. "pid": "",
    24. "type": ""
    25. },
    26. "propsHttp": {
    27. "res": "data",
    28. "url": "url"
    29. },
    30. "overHidden": true
    31. }

    相关配置可参考上表.

    注意点:

    • component 为"avueUeditor",这个发生了变化.
    • 之前解析写在option配置项中,现在直接写action、data等配置属性;
    • 之前解析上传后的props,现在改为propsHttp;
    • data参数上传的bug已经修复,可以携带额外参数;

     到这一步前端已完成。接来下写后端文件处理controller。

    1. @PostMapping(value = "/upload", produces = MediaType.APPLICATION_PROBLEM_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    2. public R upload(@RequestPart("file") MultipartFile file, @RequestParam("pid") String pid, @RequestParam("type") String type) {
    3. // 调用feign上传至OSS
    4. R<Map<String, String>> ret = remoteFileService.uploadFile(file,/*业务参数*/);
    5. // 中间业务过程
    6. return ret;
    7. }

    实际前端上传完成后,请求响应如下:

    注意:此处返回的json即为 propsHttp 中配置解析的内容。

    我配置的res为data,url为url.然后wangeditor依据url去请求服务器服务资源。 

    后台需要增加一个下载图片的方法:

    1. @GetMapping("/{bucket}/{fileName}")
    2. public void file(@PathVariable String bucket, @PathVariable String fileName, HttpServletResponse response) {
    3. sysFileService.getFile(bucket, fileName, response);
    4. }

    最终完成的效果图如下:因下载方法没有做缓存,每次到oss中获取,图片加载会慢一些。

    希望本篇文章对各位有用哈~

  • 相关阅读:
    Node.js基础---Express
    笔记二:odoo搜索、筛选和分组
    Android Camera 测试环境搭建:Android 原生代码下载
    Hive sql中条件写在on和where的区别
    Error: Cannot find module ‘webpack/lib/RuleSet‘
    分布式事务Seata源码解析九:分支事务如何注册到全局事务
    【MicroPython ESP32】1.8“tft ST7735驱动3Dcube图形显示示例
    java毕业设计俄语等级考试管理系统.Mybatis+系统+数据库+调试部署
    [附源码]java毕业设计朋辈帮扶系统
    System Generator初体验FIR滤波器
  • 原文地址:https://blog.csdn.net/sword_happy/article/details/125621167