Cloudflare R2 doesn't support ListParts operation

I’m trying to use FileZilla Pro to upload large files to Cloudflare R2. It works fine for other S3-like storage.
However with R2 it fails with ListParts not implemented

09:58:00	Command:	GET /file-100M?uploadId=AAH6o24IV4Tcj4u3e%2BPabjQqzrcD4tqxDBRvnjpUK0kLlpCAD0LtYjLRhWI%2BrYY8uiXaGQsl/z6zdyCqV0iqYYEcRvBoV1Xkqys4M20quOgiDEJqaA47iLdFZNj2xkgThYqGjrbJ7JEYzz/j5XiaUNa6YLsFQLhSJlWjpdKTEX5FR1KuK425SXRMUVT3Zg2iAb/4T%2BG6CkDibWcEIY/doL9hrCN7uAHpKC0XwqjGwTGEN2tcLrUUjZ0paiToKfMlxb58xmO529mr4t4sJQytNmxUxbmZsQdBnMHWyv5yF4/%2BQSCu91jxH9jfpAoG5HGaiKCe6qm1vcXZB70YfXGUx68%3D HTTP/1.1
09:58:00	Command:	Authorization: *****************************************************************************************************************************************************************************************************************************
09:58:00	Command:	Connection: keep-alive
09:58:00	Command:	Host: <edited>.<edited>.r2.cloudflarestorage.com
09:58:00	Command:	Keep-Alive: 300
09:58:00	Command:	User-Agent: FileZilla/3.62.2
09:58:00	Command:	x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
09:58:00	Command:	x-amz-date: 20230104T125800Z
09:58:00	Response:	HTTP/1.1 501 Not Implemented
09:58:00	Response:	Date: Wed, 04 Jan 2023 12:58:00 GMT
09:58:00	Response:	Content-Type: application/xml
09:58:00	Response:	Content-Length: 124
09:58:00	Response:	Connection: keep-alive
09:58:00	Response:	Server: cloudflare
09:58:00	Response:	CF-RAY: 784424abdc936024-GRU
09:58:00	Response:	ListParts not implemented
09:58:00	Error:	File transfer failed

From [1] I undestand that ListParts is indeed not supported.

The question is: is there any plan to support it?

Thanks
josue

[1] https://developers.cloudflare.com/r2/data-access/s3-api/api/

I’m interested in this too, compatibility with Filezilla is a big plus

It’s being worked on - no ETA though.

Looks like this was implemented in the latest update 2023-03-16

Indeed the ListParts operations is working now.
Unfortunately the CompleteMultipartUpload operation is failing with the error: 400 Bad Request.
And the response:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>InvalidPart</Code>
  <Message>There was a problem with the multipart upload.</Message>
</Error>

The CompleteMultiPartUpload operation body is:

<?xml version="1.0" encoding="UTF8"?>
<CompleteMultipartUpload>
	<Part>
		<PartNumber>1</PartNumber>
	<ETag>"ANbYF8AMS6S3NfmBbppFoDM0UhN0Ukpj2GkGmIBP7Gla5wlMIT4B526XyItaHCpMLCcH1BBKtXY85kbWSkQrGm2zznq01y99mwfbELiXRwXa7+q2ss40ZUEFITH9zX6n+9aDP4m9CWl0skTdtjKIaMTvLLoEgV9O2JuLWTXqsGff1FU1GDd+JDX/vkmHHU2fbetQmSUMtV2h//dEavrvWB/h1n8dzvKQl0zNmQbQdv3HShrRagH8KU29mlpDQi2gIQ=="</ETag>
	</Part>
	<Part>
		<PartNumber>2</PartNumber>
		<ETag>"AAVSZIgP+sDhzTdnNqnHrD9gkAYGRzUquAt+1iMt7ziJJUn+gb9QnEkPHe2hYMi9XsTdcb300eWvYpir8S6paLXQ6lP66uLhpttna/JVt/B5jr2eJG0oK7urYsrfrWYN9fdeRT0qU2HTnb+jp7mm1jvmaTRsJeAEXfW9cxUNQsGN5rDQmwx8PTROV4EZVTniZWWntWoRz1n4e14DTfz1cDDQXnthrehgTcDNzHHOAUR75bbU6hSuRGuClAjHgZ4Rog=="</ETag>
	</Part>
</CompleteMultipartUpload>

The ETag entries match the values returned by the corresponding UploadPart operations.

CompleteMultipartUpload still fails with 404 Bad Request, but now the response includes All non-trailing parts must have the same length.

The AWS S3 API documentation does not specify that the parts must have equal sizes.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.