解决 jeesite 项目部署到linux 服务器上 ckfinder 无法上传图片的问题

解决 jeesite 项目部署到linux 服务器上 ckfinder 无法上传图片的问题

一、 问题描述
jeesite 项目在 windows 操作系统上运行,测试无误;部署到线上环境 Linux服务器上,出现了 ckfinder 无法上传图片的问题。

二、出现的现象
1、 windows 环境 图片显示正常

这里写图片描述

2、 linux 线上环境,图片无法上传

这里写图片描述

三、解决思路
1、初步判断是,Linux 服务器上没有文件写入权限,各种尝试,无效。。
2、Liunx和windows 对于路径的 “/”,处理方式不一样。(linux:“/”; windows:“\”)
3、将下面代码,分别在 windows 和 linux 环境下执行,观察结果


String osname = System.getProperty("os.name");
System.out.println("osname:"+osname+"----> : \n "+File.separator);

四、问题解决
很荣幸搜索到了这篇文章 —-> https://www.cnblogs.com/teeup/p/5399857.html
针对 jeesite 项目,请在 com.thinkgem.jeesite.common.utils.FileUtils.path(String path)方法中,增加两行针对 Liunx环境下路径处理:

if(path.startsWith("/")){
    p="/"+p;
}

这里写图片描述

当前,该问题已反馈给了 jeesite 工作人员,预计会在4.0版本进行修复。
同理,若其他项目出现了,windows上功能好使,linux 上不能使用,可以考虑下,是否由路径问题造成的。

参考资料:https://www.cnblogs.com/teeup/p/5399857.html
windows系统和Linux系统下文件路径”\” 和 “/”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值