OnlyOffice运行官网JAVA示例遇到的坑

首先,文档服务器我是通过docker运行的,当我把JAVA EXAMPLE运行起来后只能新建示例,并且提示不能自动保存,只能下载保存,上传文件打开更是不行的。分析代码后,发现问题出现在DocumentManager下的GetServerUrl函数,

 通过打印输出可以发现原本代码的request.getServerName为localhost,但docker并不识localhost,因为把这里改为了服务器的ip,这样处理后我们可以上传自己的文件,但依旧不能自动保存,这时候出现了第二个坑,这个坑我不得不吐槽一下写这个代码的人。

被注释掉的部分是原本的代码,定义了int变量没有初始化。。。。导致后面程序终止,这里的代码在IndexServlet下的Track方法下。

这样修改后我们可以对英文名的文件进行正常操作了,但中文依然不行,路径名是乱码不识别。

怎么修改呢?

第一步,在IndexServlet下的processRequest方法中的response设置编码方式

这样解决了上传文件后返回的文件名乱码问题

第二步,修改DocumentManager下的GetCallback方法

 

这样中英文文档都能正确上传以及正确保存。

 

附修改后的项目源码:https://download.csdn.net/download/kyh1219/10936349

你可能感兴趣的:(OnlyOffice运行官网JAVA示例遇到的坑)