I am trying to upload large files to 3rd part service by chunks. But I have problem with last chunk. Last chunk would be always smaller then 5mb, but all chunks incl. the last have all the same size - 5mb My code:
int chunkSize = 1024 * 1024 * 5;
using (Stream streamx = new FileStream(file.Path, FileMode.Open, FileAccess.Read))
 {
    byte[] buffer = new byte[chunkSize];
    int bytesRead = 0;
    long bytesToRead = streamx.Length;
    while (bytesToRead > 0)
    {
        int n = streamx.Read(buffer, 0, chunkSize);
        if (n == 0) break;
        // do work on buffer...
        // uploading chunk ....
        var partRequest = HttpHelpers.InvokeHttpRequestStream
            (
                new Uri(endpointUri + "?partNumber=" + i + "&uploadId=" + UploadId),
                "PUT",
                 partHeaders,
                 buffer
            );  // upload buffer
        bytesRead += n;
        bytesToRead -= n;
    }
    streamx.Dispose();
 }   
buffer is uploaded on 3rd party service.
