### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Using localstack S3 with the Amazon AWSSDK.S3 NuGet v3.7.104.11 in a dotnet application.

Triggering a multipart upload against an instance of the localstack:latest image produces an error.

Full stack trace

`"Exception in multipart upload. Aborting.","RenderedMessage":"Exception in multipart upload. Aborting.","Exception":"Amazon.S3.AmazonS3Exception: exception while calling s3.UploadPart: invalid literal for int() with base 16: b' Agency</SourceName>\' ---> Amazon.Runtime.Internal.HttpErrorResponseException: Exception of type 'Amazon.Runtime.Internal.HttpErrorResponseException' was thrown.   at Amazon.Runtime.HttpWebRequestMessage.GetResponseAsync(CancellationToken cancellationToken)   at Amazon.Runtime.Internal.HttpHandler`1.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.RedirectHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.Unmarshaller.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)   --- End of inner exception stack trace ---   at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleExceptionStream(IRequestContext requestContext, IWebResponseData httpErrorResponse, HttpErrorResponseException exception, Stream responseStream)   at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleExceptionAsync(IExecutionContext executionContext, HttpErrorResponseException exception)   at Amazon.Runtime.Internal.ExceptionHandler`1.HandleAsync(IExecutionContext executionContext, Exception exception)   at Amazon.Runtime.Internal.ErrorHandler.ProcessExceptionAsync(IExecutionContext executionContext, Exception exception)   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.Signer.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.CredentialsRetriever.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.S3.Internal.AmazonS3ExceptionHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeAsync[T](IExecutionContext executionContext)   at Amazon.Runtime.Internal.MetricsHandler.InvokeAsync[T](IExecutionContext executionContext)`

### Expected Behavior

The upload completes without exception.

Pinning the version to localstack:2.2.0 resolves the issue.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    Custom dotnet application using the AWSSDK.S3 NuGet v3.7.104.11


### Environment

```markdown
- OS: Windows
- LocalStack: localstack/localstack:latest (digest 5614f89737075ffe9f1d473053d87284931fb01b36b76cb7d208950b8ca1536b)
```


### Anything else?

_No response_
self._stream.read(2)
    def _get_next_chunk_length(self):
        line = self._stream.readline()
        chunk_length = int(line.split(b";")[0], 16)
        self._chunk_size = chunk_length
    def _get_trailing_headers(self):
        """
        Once the stream content is read, we try to parse the trailing headers.
        """
        
        while line := self._stream.readline():
            if trailing_header := line.strip():
                header_key, header_value = trailing_header.decode("utf-8").split(":", maxsplit=1)
                self._trailing_headers[header_key.lower()] = header_value.strip()
        self._trailing_set = True
    def _set_checksum_value(self):
        """
        If an S3 object was passed, we check the presence of the `checksum_algorithm` field, so that we can properly
        get the right checksum header value, and set it directly to the object. It allows us to transparently access
        the provided checksum value by the client in the S3 logic.
        """
        if checksum_algorithm := getattr(self.s3_object, "checksum_algorithm", None):
            self.s3_object.checksum_value = self._trailing_headers.get(
                f"x-amz-checksum-{checksum_algorithm.lower()}"
            )