title: MultipartRequest uploads successfully to s3, but data appears to be invalid
body: <p>This seems like a pretty straight forward procedure in Flutter. But when I download the video I have uploaded to s3, I can not get the video to play back. Video player tells me the data is corrupt.
  The uploadUri is a presigned s3 link. And the filePath is the correct path to my video.
  I get a 200 response from the send.</p>
  <pre><code>  Future&lt;void&gt; postVideo( String filePath, String uploadUri ) async {
      var request = http.MultipartRequest('PUT', Uri.parse( uploadUri ) );
      request.files.add(
          await http.MultipartFile.fromPath(
              'video',
              filePath,
              contentType: MediaType('video','mp4')
      ));
      final response = await request.send();
      if (response.statusCode == 201 || response.statusCode == 200 ) {
        print( 'submit video response: ' + response.toString() );
      } else {
        throw Exception('Failed to post video');
      }
    }
  </code></pre>
  <p>Any thoughts?</p>