从MultipartFormDataContent和StreamContent获取上传进度

时间:2019-12-20 07:14:04

标签: c# .net

请考虑以下这段小代码:

var client = new HttpClient();
var multiForm = new MultipartFormDataContent();
var str = new StreamContent(File.OpenRead("movie.mp4"));
multiForm.Add(str, "to_upload", "1.mp4");
var response = await client.PostAsync("https://example.com/upload", multiForm);

您可以看到我正在使用StreamContentMultipartFormDataContent上传文件。我的问题是有可能以某种方式从HttpClient获得上传进度吗?或通过其他任何方式获取上传进度?

1 个答案:

答案 0 :(得分:1)

您可以使用here中的ProgressableStreamContent

this答案

,简单用法可以是

 var progress = new ProgressableStreamContent (
     requestContent, 
     4096,
     (sent,total) => {
        Console.WriteLine ("Uploading {0}/{1}", sent, total);
    });