• 富文本编辑器(layedit)图片的读取问题,磁盘文件访问问题


    这是有史以来,研究时间最长的一个问题了,得好好写写,写的一个仿丁香医生的项目,后台用到富文本编辑器编辑内容,用springboot集成,尝试了kindeditor和uedit都没有成功,鉴于自己后台用的layui,所以用了layedit。后台接口代码自己研究的,非常的简易,暂时还没有加逻辑,但是可以读取到图片了终于。springboot的静态资源总是访问不到,需要配置映射,下面是例子

    @Configuration
    public class MyConfigurer extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    /*
    * 说明:增加虚拟路径(经过本人测试:在此处配置的虚拟路径,用springboot内置的tomcat时有效,
    * 用外部的tomcat也有效;所以用到外部的tomcat时不需在tomcat/config下的相应文件配置虚拟路径了,阿里云linux也没问题)
    */
    //告知系统static 当成 静态资源访问
    registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    registry.addResourceHandler("/layeditImages/**").addResourceLocations("file:D:/image/");

    }
    }
    ,后台controller这么写的
    @RequestMapping("/uploadImage")
    @ResponseBody
    public String uploadImage(@RequestParam("file") MultipartFile[] files,
    HttpServletRequest request) throws IOException {
    Map<String,Object> map = new HashMap<String,Object>();
    Map<String,Object> map2 = new HashMap<String,Object>();
    String substring = UUID.randomUUID().toString().substring(0, 7);
    String newName = substring+files[0].getOriginalFilename();
    File newImage = new File("D:\image\"+newName);
    files[0].transferTo(newImage);

    map.put("code",0);//0表示成功,1失败
    map.put("msg","上传成功");//提示消息
    map.put("data",map2);
    map2.put("src","/layeditImages/"+newImage.getName());//图片url
    map2.put("title",newImage.getName());//图片名称,这个会显示在输入框里
    System.out.println(newImage.getPath()+"==="+newImage.getName());
    JSONObject jsonObject = JSONObject.fromObject(map);
    String result = jsonObject.toString();
    return result;
    }
    一开始想着放在项目中,觉着好访问,但是这里有个坑,不要把文件放在项目中,因为妨碍tomcat中的文件,不会立刻刷新,要重启项目才能被访问到!!
    因为layedit的请求数据带着该file,name='file',接受类型用MultipartFile
    MultipartFile和File有什么区别?
    这两个词一般是Java中出现的吧,前者代表HTML中form data方式上传的文件,后者是文件系统的抽象,前者信息较少,只有二进制数据+文件名称


    使用文件时的重点,不要把文件放在项目路径下,配置好对于磁盘或者其他服务器的映射


  • 相关阅读:
    QML用Qt.labs.settings实现保存用户设置
    周练1
    Django的Hello World
    python 笔记
    Qt Creator 搭配Git 版本控制
    Windows系统下在Git Bash中把文件内容复制到剪贴板的命令
    【转】Qt之JSON保存与读取
    Qt Creator 中文编译失败 怎么办
    Treap树 笔记
    【POJ1037】A decorative fence(DP)
  • 原文地址:https://www.cnblogs.com/w123w/p/13673144.html
Copyright © 2020-2023  润新知