diff --git a/service/explorer/file.go b/service/explorer/file.go index 5174e9f4f7..1c9d870dcc 100644 --- a/service/explorer/file.go +++ b/service/explorer/file.go @@ -230,7 +230,11 @@ func (service *FileIDService) CreateDocPreviewSession(ctx context.Context, c *gi // For newer version of Cloudreve - Local Policy // When do not use a cdn, the downloadURL withouts hosts, like "/api/v3/file/download/xxx" if strings.HasPrefix(downloadURL, "/") { - downloadURL = model.GetSiteURL().ResolveReference(downloadURL).String() + downloadURI, err := url.Parse(downloadURL) + if err != nil { + return serializer.Err(serializer.CodeNotSet, err.Error(), err) + } + downloadURL = model.GetSiteURL().ResolveReference(downloadURI).String() } var resp serializer.DocPreviewSession