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

2019-05-24  本文已影响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

心累,晚安

上一篇下一篇

猜你喜欢

热点阅读