在发送任何数据之前调用 WebClient UploadProgressChanged 并且 TotalBytesToSend 始终为 -1

问题描述

总结一下这个问题,ixs调用了几次,UploadProgressChanged 一直上升直到达到文件大小,但在此期间实际上并未发送文件文件在之后发送。

使用 sendDataAsync、sendDataTaskAsync 和 UploadFileTaskAsync 尝试过此操作,结果相同。当代码到达 BytesSent 时,UploadProgressChanged 将开始重复调用,我可以通过 client.UploadFileTaskAsync 看到它计算到我尝试非常快速发送的文件的大小。此程序将静止一分钟后结束。用 fiddler 看这个显示文件直到计数完成后才真正发送。

我可以看到 Console.Writeline 的值始终为 -1。我在 MSDN 中查找了这个,但找不到任何关于 -1 含义的信息。我尝试使用 curl 进行此调用,并使用它我可以在 fiddler 中看到当 curl 计算发送的字节数时正在上传文件,因此显然可以正确处理,我只是不知道如何。

这可能与我昨天发布的类似问题有关,当时我尝试使用 e.TotalBytesToSend Showing File Upload progress with HttpWebRequest

这是一个可以重现问题的最小程序

httpwebrequest

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)