Rclone can't perform a S3 multipart upload to Pydio

I was getting invalid MD5 error when trying to perform a multipart upload with Rclone.
Here is what a have found.

The function FromContentMD5 from minio/pkg/etag/etag.go expects a base64 encoded string but get a hexadecimal encoded one.
However, I have checked that Rclone is sending the correct Content-Md5 header (run it with args -vvv --dump=headers). I can also see the valid base64 encoded header in the Pydio log.
My fix:

	if v[0] == "" {
		return nil, errors.New("etag: content-md5 is set but contains no value")
	}
	if len(v[0]) == 32 {
		h, err := hex.DecodeString(v[0])
		if err == nil {
			return ETag(h), nil
		}
	}
	b, err := base64.StdEncoding.Strict().DecodeString(v[0])

Now I’m able to upload files successfully.
Additionally, I recommend using the –low-level-retries 1 flag to avoid slowdowns when performing operations.
@GwynethLlewelyn I think you might be interested in this topic.