美文网首页
记一次采坑 UmEditor 文件上传错误

记一次采坑 UmEditor 文件上传错误

作者: 逮到兔子的狐狸 | 来源:发表于2019-05-24 22:53 被阅读0次

    先发泄一下!!!!

    啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

    好了,

    先说下测试环境
    jdk 1.8
    springboot 2.1.5
    UmEditor 1.2.3
    一个纯净的项目,application.properties 是空的

    项目目录

    image.png

    最近有个项目需要用到富文本编辑器,以前写好的 ue 代码,放到 java web 的项目中死活都是后台配置错误
    然后 拉 一顿改,没用。。。

    因为以前重写过一些源码,时间久了也不知道改了什么
    然后就下载了以精简版的 um 然后坑就开始了
    um官网下载 了 jsp 版的源码

    理由就是 java 源码较少,
    因为不想用 jsp 转换成了 controller
    然后,坑就开始了 ,错误:上传文件错误 贯穿全文
    先是一道这里就跳出去 ,

    image.png

    改。

        public void upload(MultipartFile upfile) {
            if (upfile.isEmpty()) {
                this.state = this.errorInfo.get("NOFILE");
            } else {
                this.type = upfile.getContentType();
                this.size = upfile.getSize();
                this.originalName = upfile.getOriginalFilename();
                if (originalName != null) {
                    originalName = originalName.substring(originalName.lastIndexOf(File.separator) + 1);
                    if (!this.checkFileType(this.originalName)) {
                        this.state = this.errorInfo.get("TYPE");
                        return;
                    }
                }
                this.fileName = getName(originalName);
                String currDay = new SimpleDateFormat("yyyyMMdd").format(new Date());
                savePath += currDay + File.separator + fileName;
                this.url = getBaseUrl(request) + "upload/" + currDay + "/" + fileName;
                Path newPath = Paths.get(savePath);
    
                try {
                    doIfNotExitCreate(newPath);
                } catch (IOException e) {
                    e.printStackTrace();
                    this.state = this.errorInfo.get("TYPE");
                    return;
                }
                try {
                    upfile.transferTo(newPath);
                    this.state = this.errorInfo.get("SUCCESS");
                } catch (IOException e) {
                    e.printStackTrace();
                    this.state = this.errorInfo.get("IO");
                }
            }
        }
        public String getBaseUrl(HttpServletRequest request) {
            return request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/";
        }
    
        public void doIfNotExitCreate(Path path) throws IOException {
            if (!Files.exists(path)) {
                Files.createDirectories(path.getParent());
                Files.createFile(path);
            }
        }
    

    这里呢 用 savePath 创建的本地目录就已经可是保存文件了
    但是依然报错:上传文件错误
    我以为是springboot 本身的问题 然后又配置了我的磁盘路径,奥 我的这个项目是

    @Configuration
    public class MyWebMvcConfigurer implements WebMvcConfigurer {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/upload/**")
                    .addResourceLocations("file:" + "D:\\webData\\upload\\");
        }
    }
    

    结果呢,启动 SpringBootApplication 图片能访问了,但是 : 上传文件错误
    唉,开始查看 js 源码 我伤心可是个后端!!!
    ·
    ·
    ·
    最终是这样改的

    image.png

    心累,晚安

    相关文章

      网友评论

          本文标题:记一次采坑 UmEditor 文件上传错误

          本文链接:https://www.haomeiwen.com/subject/slrozqtx.html