diff --git a/go_cloud/internal/http/routes.go b/go_cloud/internal/http/routes.go index f1f96eb..3a4f132 100644 --- a/go_cloud/internal/http/routes.go +++ b/go_cloud/internal/http/routes.go @@ -3175,7 +3175,7 @@ func publicFileViewHandler(w http.ResponseWriter, r *http.Request, db *database. } // Stream file - resp, err := client.Download(r.Context(), file.Path, "") + resp, err := client.Download(r.Context(), file.Path, r.Header.Get("Range")) if err != nil { errors.LogError(r, err, "Failed to download file") errors.WriteError(w, errors.CodeInternal, "Server error", http.StatusInternalServerError) @@ -3188,6 +3188,9 @@ func publicFileViewHandler(w http.ResponseWriter, r *http.Request, db *database. w.Header().Set("Access-Control-Allow-Methods", "GET, HEAD, OPTIONS") w.Header().Set("Access-Control-Allow-Headers", "Range") + // Set status code (200 or 206 for partial) + w.WriteHeader(resp.StatusCode) + // Copy headers from Nextcloud response, but skip Content-Type to ensure correct MIME type for k, v := range resp.Header { if k != "Content-Type" {