From bdaf091aca03833d42b06939cbb2662c3b9717c2 Mon Sep 17 00:00:00 2001 From: Aaron Liu Date: Fri, 16 May 2025 13:44:48 +0800 Subject: [PATCH] fix(wopi): community edition cannot open WOPI viewer from shared file --- service/explorer/viewer.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/service/explorer/viewer.go b/service/explorer/viewer.go index 63f54b6..acab9c7 100644 --- a/service/explorer/viewer.go +++ b/service/explorer/viewer.go @@ -3,6 +3,7 @@ package explorer import ( "errors" "fmt" + "github.com/cloudreve/Cloudreve/v4/application/constants" "net/http" "time" @@ -287,7 +288,7 @@ func (service *WopiService) FileInfo(c *gin.Context) (*WopiFileInfo, error) { dbfs.WithFilePublicMetadata(), dbfs.WithExtendedInfo(), dbfs.WithNotRoot(), - dbfs.WithRequiredCapabilities(dbfs.NavigatorCapabilityDownloadFile, dbfs.NavigatorCapabilityInfo, dbfs.NavigatorCapabilityUploadFile), + dbfs.WithRequiredCapabilities(dbfs.NavigatorCapabilityDownloadFile, dbfs.NavigatorCapabilityInfo), } file, err := m.Get(c, uri, opts...) if err != nil { @@ -304,7 +305,7 @@ func (service *WopiService) FileInfo(c *gin.Context) (*WopiFileInfo, error) { return nil, serializer.NewError(serializer.CodeNotFound, "version not found", nil) } - canEdit := file.PrimaryEntityID() == targetEntity.ID() && file.OwnerID() == user.ID + canEdit := file.PrimaryEntityID() == targetEntity.ID() && file.OwnerID() == user.ID && uri.FileSystem() == constants.FileSystemMy siteUrl := settings.SiteURL(c) info := &WopiFileInfo{ BaseFileName: file.DisplayName(),