Currently, MultipartStreamBuilder builds the whole content of the stream as a string in memory, even when the original data was built using a Stream wrapping a resource to avoid loading the whole file in memory at this point. As building a multipart stream only involves appending the different strings with some delimiters, it would be much better to implementing this in a streaming way. `GuzzleHttp\Psr7\AppendStream` might help here (which is what `GuzzleHttp\Psr7\MultipartStream` uses internally)