Office Online中WOPI「另存为」异常:已实现PUT_RELATIVE_FILE但无新建选项
解决Office Online中.docx无法显示“另存为”(基于现有文件创建新文件)的问题
你已经搞定了PUT_RELATIVE_FILE接口的实现和测试,但Office Online没识别到这个能力,核心问题是你的CheckFileInfo响应里缺少了关键的功能支持声明。
你需要在CheckFileInfo响应中添加以下配置:
SupportsPutRelativeFile: true:这是最关键的字段,用来明确告诉Office Online你的WOPI服务器支持通过PUT_RELATIVE_FILE接口基于当前文件创建新文件。只有声明了这个参数,Office才会在编辑/查看界面上显示对应的“另存为”选项。- 额外确认:你当前设置的
UserCanNotWriteRelative: false等价于UserCanWriteRelative: true,已经确保了用户拥有创建相对文件的权限,但如果没有SupportsPutRelativeFile的声明,Office依然不会触发这个功能。
修改后的CheckFileInfo响应示例:
{ BASE_FILE_NAME => stored_file.name, OWNER_ID => current_user.id.to_s, SIZE => File.size(path), USER_ID => current_user.email, VERSION => document_version(document), USER_CAN_WRITE => true, SUPPORTS_DELETE => true, SUPPORTS_UPDATE => true, SUPPORTS_LOCKS => true, SUPPORTS_GET_LOCK => true, USER_FRIENDLY_NAME => current_user.email, HOST_EDIT_URL => host_edit_url(request, document), DOWNLOAD_URL => download_url(request, document), "UserCanNotWriteRelative" => false, "SupportsFileCreation" => true, "SupportsPutRelativeFile" => true # 新增的关键字段 }
补充说明:既然你已经通过了所有PutRelativeFile的WOPI测试用例,接口的逻辑应该是没问题的,添加这个声明后,Office Online就能正确识别并显示“另存为”选项了。
内容的提问来源于stack exchange,提问作者Suhas Giriraj
相关产品推荐
相关产品推荐

