Skip to content

[BUG] Nextcloud App chunked upload fails with 405 Method Not Allowed due to missing PROPFIND handler #415

@Lawson-Y

Description

@Lawson-Y

When using the official Nextcloud Android App (v33.1.1) to upload files to OxiCloud, the upload fails immediately with a 405 Method Not Allowed status code.After checking the Nginx logs and digging into the OxiCloud source code, I found that the Nextcloud client sends a PROPFIND request right after successfully creating the chunked upload directory via MKCOL. However, the current chunked upload router in OxiCloud does not handle the PROPFIND HTTP method, causing it to fall through to the wildcard match and return a 405 error.

nginx logs

  • admin [02/Jun/2026:11:25:56 +0800] "HEAD /remote.php/dav/files/admin/IMG20260530183424.jpg HTTP/1.1" 404 0 "-" "Mozilla/5.0 (Android) Nextcloud-android/33.1.1"
  • admin [02/Jun/2026:11:25:56 +0800] "MKCOL /remote.php/dav/uploads/admin/a5cca84dded009801217fb4dc748187b HTTP/1.1" 201 0 "-" "Mozilla/5.0 (Android) Nextcloud-android/33.1.1"
  • admin [02/Jun/2026:11:33:15 +0800] "PROPFIND /remote.php/dav/uploads/admin/71c4f749c054c2e33e14ee50443c240b HTTP/1.1" 405 0 "-" "Mozilla/5.0 (Android) Nextcloud-android/33.1.1"

In the OxiCloud source code responsible for handling the Nextcloud chunked upload route (/remote.php/dav/uploads/...), the match method.as_str() block only handles MKCOL, PUT, MOVE, and DELETE.

match method.as_str() {
"MKCOL" => handle_mkcol(state, &user, &upload_id).await,
"PUT" => handle_put_chunk(state, req, &user, &upload_id, &rest).await,
"MOVE" => handle_assemble(state, req, &user, &upload_id).await,
"DELETE" => handle_abort(state, &user, &upload_id).await,
_ => Ok(Response::builder()
.status(StatusCode::METHOD_NOT_ALLOWED) // Modern Nextcloud App hits this block via PROPFIND
.body(Body::empty())
.unwrap()),
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions