默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] RainbowChat服务端在linux上文件保存路径配置的问题
############################# 文件目标配置
#用户头像上传目录(结尾需要斜线)
DIR_USER_AVATAR_UPLOAD=/data/rbc/avatar/

#用户要发送的图片上传目录(未被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_IMAGE_UPLOAD_UNREAD=/data/rbc/image/unread/
#用户要发送的图片上传目录(已被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_IMAGE_UPLOAD_READ=/data/rbc/image/read/
#用户要发送的图片过期后被转储到的目录
DIR_USER_IMAGE_UPLOAD_TIMEOUT=/data/rbc/image/timeout/

#用户要发送的语音留言上传目录(未被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_VOICE_UPLOAD_UNREAD=/data/rbc/voice/unread/
#用户要发送的语音留言上传目录(已被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_VOICE_UPLOAD_READ=/data/rbc/voice/read/
#用户要发送的语音留言过期后被转储到的目录
DIR_USER_VOICE_UPLOAD_TIMEOUT=/data/rbc/voice/timeout/

# 自动定期转储过期的图片、语音文件的扫描时间间隔(单位:毫秒):目前定期扫描间隔时间是1天
AUTO_TIMING_RESTORE_IMG_AND_VOICE_INTERVAL=86400000
# 图片、语音文件的超期时长(单位:毫秒):目前定期扫描间隔时间是6天,及意味着过了这个期限用户还未读就让它超期自动转储
AUTO_TIMING_RESTORE_IMG_AND_VOICE_TIMEOUT=518400000

#用户照片上传目录(未被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_PHOTO_UPLOAD=/data/rbc/profile/photo/
#用户语音自我介绍上传目录(未被客户端读取时存放的位置)(结尾需要斜线)
DIR_USER_PVOICE_UPLOAD=/data/rbc/profile/pvoice/


我现在服务器使用的是linux的,文件保存路径配置如上,但是一直上传不上,服务端这边报以下错误:
[ERROR] - [17/10/14 03:29:29.041][HTTP头像上传] 处理用户头像上传时出错了,[HTTP文件上传] saveToDir == null! | (UserAvatarUploader^onUploadFailure:140)
java.lang.Exception: [HTTP文件上传] saveToDir == null!
        at com.eva.epc.tools.ends.ud.FileUpload.processFileUpload2(FileUpload.java:68)
        at com.cngeeker.rainbowchat.file.ends.upload.UploaderRoot.doPost(UploaderRoot.java:62)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:610)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
        at java.lang.Thread.run(Thread.java:748)


即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:RainbowChat
上一篇:[已回复] 请教RainbowChat的的android端登陆超时问题下一篇:RainbowChat 技术授权说明、授权协议书范本
推荐方案
评论 4
日志里随然没看出直接原因,但99%的可能性是base_conf.properties配置文件的路径读取在Linux下不正确的问题,请看下图的代码:
[已回复] RainbowChat服务端在linux上文件保存路径配置的问题_QQ截图20171014161422.png

代码里因为开发的时候是在Windows下做的,所以要path.substring(1),也就是去掉Windows下返回的目录最前面的斜线。你在Linux下就不需要path.substring(1),明白了吗?总之,这段代码就是要读取你的配置文件路径,路径弄对就行了,你甚至自已写死你的base_conf.properties绝对路径都可以!

附件的代码里我帮你把代码优化了一下,就是在Linux下不需要path.substring(1),你把BaseConf.java考到到你的工程覆盖一下就好:
BaseConf.java (9.26 KB , 下载次数: 2 )

你按照我的方法,试试看!
引用:wayne 发表于 2017-10-14 14:25
日志太大,我把它压缩了,放在附件里面,麻烦帮忙看一下。谢谢。

稍等,我下载了看看
日志太大,我把它压缩了,放在附件里面,麻烦帮忙看一下。谢谢。

从启动到上传报错的所有日志.rar

4.98 KB, 下载次数: 2

你的服务端日志不全,你把服务端重启一下,把服务端的干净日志贴出来。
你的问题我大致猜到了,但您贴出更多的日志,我就能确切地帮你指出问题何在。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部