【onlyoffice 服务器本地化部署】onlyoffice解决社区版文件编辑大小限制的方法。
一、 首先解除文档服务中文件大小限制,进入容器onlyoffice-document-server中对指定配置文件进行maxDownloadBytes参数进行修改
docker exec -it onlyoffice-document-server /bin/bash
cd /etc/onlyoffice/documentserver
vi default.json (容器内没有vi vim工具可以使用nano 命令)
"FileConverter": { "converter": { "maxDownloadBytes": 104857600, "downloadTimeout": { "connectionAndInactivity": "2m", "wholeCycle": "2m" }, "downloadAttemptMaxCount": 3, "downloadAttemptDelay": 1000, "maxprocesscount": 1, "fontDir": "null", "presentationThemesDir": "null", "x2tPath": "null", "docbuilderPath": "null", "docbuilderAllFontsPath": "null", "docbuilderCoreFontsPath": "", "args": "", "spawnOptions": {}, "errorfiles": "", "streamWriterBufferSize": 8388608, "maxRedeliveredCount": 2, "inputLimits": [ { "type": "docx;dotx;docm;dotm", "zip": { "uncompressed": "50MB", "template": ".xml" } }, { "type": "xlsx;xltx;xlsm;xltm", "zip": { "uncompressed": "300MB", "template": ".xml" } }, { "type": "pptx;ppsx;potx;pptm;ppsm;potm", "zip": { "uncompressed": "50MB", "template": "*.xml" } } ] } }
二、进入社区服务容器中对社区服务文件操作限制进行修改,进入指定路径在配置文件中增加参数即可
docker exec -it onlyoffice-community-server /bin/bash
cd /var/www/onlyoffice/WebStudio
nano web.appsettings.config
修改完成后重启 onlyoffice-community-server容器
三、问题解决过程(不关心可以不看这部分)
观察前端页面报错信息
在这个报错信息中看到涉及输出信息为 该文件比100m不能编辑较大。在群里大佬的提醒下,这个不一定是文档服务的报错信息。在社区服务源码中查找发现如下位置
发现是一个error massage ,在源码中找到ErrorMassage的使用位置为
/web/studio/ASC.Web.Studio/Products/Files/Services/DocumentService/DocumentServiceHelper.cs 文件下第151 行,这里发现是setupinfo中的参数作为比较标准进行抛出,看这个参数是否为配置读取。
if (file.ContentLength > SetupInfo.AvailableFileSize) throw new Exception(string.Format(FilesCommonResource.ErrorMassage_FileSizeEdit, FileSizeComment.FilesSizeToString(SetupInfo.AvailableFileSize)));
\web\studio\ASC.Web.Studio\Core\SetupInfo.cs文件下 第404行
AvailableFileSize = GetAppSettings("web.available-file-size", 100L * 1024L * 1024L);
这里看到使用的是配置文件中的available-file-size这个参数,否则就是100m默认值
第462行获得函数GetAppSettings这里找到最终的配置文件ConfigurationManagerExtension.AppSettings
private static string GetAppSettings(string key, string defaultValue) { var result = ConfigurationManagerExtension.AppSettings[key] ?? defaultValue; if (!string.IsNullOrEmpty(result)) result = result.Trim(); return result; }
检索工程找到文件\web\studio\ASC.Web.Studio下的web.appsettings.config为配置文件,对应的是/var/www/onlyoffice/WebStudio下web.appsettings.config 其中有标签为web的key,限制额外增加一个参数配置。
增加完重启服务后问题解决可以进行编辑。
这里特别感谢两位开源社区群内大佬帮助解决问题 小钞,kkk
onlyoffice中文交流社区 792389659
本地化部署请参看我的其他博文。