记一次采坑 UmEditor 文件上传错误
2019-05-24 本文已影响0人
逮到兔子的狐狸
先发泄一下!!!!
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
好了,
先说下测试环境
jdk 1.8
springboot 2.1.5
UmEditor 1.2.3
一个纯净的项目,application.properties 是空的
项目目录
最近有个项目需要用到富文本编辑器,以前写好的 ue 代码,放到 java web 的项目中死活都是后台配置错误
然后 巴拉巴拉 一顿改,没用。。。
因为以前重写过一些源码,时间久了也不知道改了什么
然后就下载了以精简版的 um 然后坑就开始了
um官网下载 了 jsp 版的源码
理由就是 java 源码较少,
因为不想用 jsp 转换成了 controller
然后,坑就开始了 ,错误:上传文件错误 贯穿全文
先是一道这里就跳出去 ,
改。
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 源码 我伤心可是个后端!!!
·
·
·
最终是这样改的
心累,晚安