admin管理员组

文章数量:1644596

1.使用docker部署onlyoffice,并新建api调用网页view.html 

docker使用以下命令部署onlyoffice 

sudo docker run -d --restart=always --name onlyoffice -p 1080:80 -e JWT_ENABLED=false onlyoffice/documentserver

部署成功后如下图所示,能访问

创建一个view.html页面,用于cloudreve调用onlyoffice的api,view.html代码如下所示(感兴趣的小伙伴也可以去onlyoffice官网查找研究具体的编辑等的api配置,我这里只做预览) 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>
<div id="placeholder"></div>
<!-- 下面的注释记得要打开,并修改编辑自己onlyoffice的api.js的路径,一般只需改ip地址即可-->
<script type="text/javascript" src="http://192.168.150.150:1080/web-apps/apps/api/documents/api.js"></script>
<script>
    function GetQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return decodeURIComponent(r[2]); return null;
    }
    //解码url
    let url = GetQueryString("src")
    var file= GetQueryString("name")
    var suffix = file.split('.')
    suffix=suffix[suffix.length-1]
    var docEditor = new DocsAPI.DocEditor("placeholder", {
        "document": {
            "fileType": suffix,
            "permissions": {
                "edit": false,
				"comment":true,
				"download":true,
				"print":true,
				"fillForms": true,
            },
            "title": file,
            "url": url,
        },
		"editorConfig":{
		"callbackUrl": url,                      //回调地址,一定要保证docserver可以请求到,否则开不开文件
			"lang":"zh-CN",
			"mode":"view", //编辑模式 edit
		},
        "height": "1080px",
        // "width": "100%",
		"type":"desktop",

    });

</script>
</body>
</html>

 将新建的view.html复制到coludreve的/var/www/onlyoffice/documentserver-example/welcome目录下 

sudo docker cp ./view.html onlyoffice:/var/www/onlyoffice/documentserver-example/welcome

复制成功后访问下该网页,显示为空白不提示404则为复制成功,能正常访问,结果如下图所示 

2.配置cloudreve并测试文档预览

 在cloudreve的管理面板-参数设置-图像预览的文件预览地址配置中将配置修改成onlyoffice的地址,并保存,配置url如下所示(注意在windows下运行cloudrve建议使用管理员权限运行,不然可能没法预览文件,会提示下载失败)

http://xxx.xxx.xxx.xxx:1080/welcome//view.html?src={$src}&name={$name}

配置参考下图 

上传文档并验证api调用预览,调用成功如下所示

在此补充cloudreve通过wopi方式调用onlyoffice的方法(此方法适用于最新的cloudreve与OnlyOffice6.4以上版本) 

1.docker运行onlyoffice时使用WOPI_ENABLED=true开启wopi

sudo docker run -d --restart=always --name onlyoffice -p 1080:80 -e JWT_ENABLED=false -e WOPI_ENABLED=true onlyoffice/documentserver

2.在cloudreve中配置wopi,按下图格式新增即可

http://onlyoffice的ip地址:端口/hosting/discovery

本文标签: 文档CloudreveONLYOFFICE