我可以看到每上传10MB就会发生一次事件,但我想更频繁地获取进展。
假设文件的大小小于10MB,例如,起点和终点之间没有进度信息。
我尝试InsertMediaUpload.GetProgress()
但它只返回上传的ProgressChanged值,而不是当前值。
答案 0 :(得分:0)
您可以通过更改ChunkSize
请求的InsertMediaUpload
属性来实现此目的。
默认块大小为10MB,但您可以通过将请求中的ChunkSize属性设置为256KB的任意倍数来更改它。
我使用可用的示例here对此进行了测试。
使用
在ChunkSize
中设置Run()
后
videosInsertRequest.ChunkSize = 262144;
或
videosInsertRequest.ChunkSize = ResumableUpload.MinimumChunkSize;
我可以看到更频繁地调用videosInsertRequest_ProgressChanged
处理程序。
我认为可以通过在视频上传时检查GetProgress().BytesSent
来增加进度报告,但这也只会在每个" chunk"之后更新。 (因此,我们可以获得的最频繁的报告是由ChunkSize
设置并在ProgressChanged
处理程序中捕获的。)