You need to enable JavaScript to run this app. 如何获取WOPI主机集成的file_id?部署调试遇文件加载异常
优惠活动
大模型
产品
解决方案
定价
更多

如何获取WOPI主机集成的file_id?部署调试遇文件加载异常

WOPI主机部署与集成问题

已完成的部署操作步骤

  • 按照官方文档指引完成Office Online Server(即WOPI客户端)全量农场部署
  • 验证discovery URL访问链路,服务运行状态完全正常
  • 基于口碑非常好的开源WopiHost项目搭建WOPI主机服务
  • 在目标服务器上完成项目代码克隆
  • 从解决方案根目录通过dotnet命令行工具移除Cobalt项目
  • 在解决方案根目录依次执行dotnet clean命令清理构建缓存、dotnet build命令重新生成整个解决方案
  • 在WopiHost项目目录执行dotnet run命令启动核心WOPI服务
  • 在WopiHost.Web项目目录执行dotnet run命令启动Web交互站点
  • 参照WOPI官方主机页开发规范编写Office嵌入页面,尝试完成服务集成,目前不确定实现逻辑是否正确,但页面至少可以部分加载,编写的页面代码如下:
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <!-- 兼容IE标准渲染模式 -->
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title></title>
    <meta name="description" content="">
    <meta name="viewport"
        content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
    <link rel="shortcut icon" href="https://my-server-url.com/wv/resources/1033/FavIcon_Word.ico" />
    <style type="text/css">
        body {
            margin: 0;
            padding: 0;
            overflow: hidden;
            -ms-content-zooming: none;
        }
        #office_frame {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: 0;
            border: none;
            display: block;
        }
    </style>
</head>
<body>
    <form id="office_form" name="office_form" target="office_frame" 
    action="https://my-server-url.com/wv/wordviewerframe.aspx?ui=es-mx&rs=es-mx&dchat=1&showpagestats=1&IsLicensedUser=1&WOPISrc=http%3A%2F%2Fmy-server-url.com%3A5000%2Fwopi%2Ffiles%2Ftest.docx" 
    method="post">
        <input name="access_token" value="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIxMjM0NSIsInVuaXF1ZV9uYW1lIjoiQW5vbnltb3VzIiwiZW1haWwiOiJhbm9ueW1vdXNAZG9tYWluLnRsZCIsIlVzZXJQZXJtaXNzaW9ucyI6IlVzZXJDYW5BdHRlbmQsIFVzZXJDYW5QcmVzZW50LCBVc2VyQ2FuUmVuYW1lLCBVc2VyQ2FuV3JpdGUiLCJuYmYiOjE2MTA2MDU5NDgsImV4cCI6MTYxMDYwOTU0OCwiaWF0IjoxNjEwNjA1OTQ4fQ.KbxGcTVOa3yWCGcEHEGv9MRP_NskfViW_vyMTOupRO4" type="hidden" />
        <input name="access_token_ttl" value="0" type="hidden" />
    </form>
    <span id="frameholder"></span>
    <script type="text/javascript">
        var frameholder = document.getElementById('frameholder');
        var office_frame = document.createElement('iframe');
        office_frame.name = 'office_frame';
        office_frame.id = 'office_frame';
        // 为无障碍访问设置框架标题
        office_frame.title = 'Office Frame';
        // 启用幻灯片视图下的真全屏模式
        office_frame.setAttribute('allowfullscreen', 'true');
        // 配置沙箱属性兼容业务流的身份跳转逻辑
        office_frame.setAttribute('sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-top-navigation allow-popups-to-escape-sandbox');
        frameholder.appendChild(office_frame);
        document.getElementById('office_form').submit();
    </script>
</body>
</html>

现存的问题与疑问

  • 刚接触.NET开发环境,不清楚如何获取wopi-docs文件夹下托管的文件,该目录下的文件内容呈现无法识别的类加密状态
  • 手动编写的嵌入页面运行后加载失败,弹出错误提示,错误截图参考:
    WOPI集成加载错误截图
  • 不清楚如何获取合法的file_id,将正确的参数值填入嵌入页面的WOPISrc配置中
  • 不明确开源WOPI主机Web服务的正确使用方式

内容的提问来源于stack exchange,提问作者Carlos Rodríguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 18:36:02