您的位置:首页 > 运维架构 > Linux

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

2017-12-22 10:50 816 查看
解决 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系统下文件路径”\” 和 “/”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐