GoogleDrive FilesResource.UpdateMediaUpload不报告进度,仅报告开始/结束

时间:2014-05-15 17:58:29

标签: google-drive-api

我设置了以下代码来显示上传文件的进度:

FilesResource.UpdateMediaUpload updateRequest = service.Files.Update(myFile, fileID, stream, myFile.MimeType);
updateRequest.ProgressChanged += (s) =>
            {
                Console.WriteLine();
                Console.WriteLine("Progress Update");
                if (m_oWorker.IsBusy)
                {
                    int percent = (int)(100 * ((Double)s.BytesSent / maxLength));
                    Console.WriteLine("Sending Bytes: " + s.BytesSent.ToString());
                    Console.WriteLine("Sending Bytes percent: " + percent.ToString());
                    m_oWorker.ReportProgress(percent);
                }
            };
            updateRequest.Upload();

结果如下:

Progress Update
Sending Bytes: 0
Sending Bytes percent: 0

Progress Update
Sending Bytes: 7199570
Sending Bytes percent: 100

这项工作是在后台工作线程中完成的,但这不应该影响我的想法吗?

我有没有在这里做的事情?

1 个答案:

答案 0 :(得分:0)

引用media upload in the .NET client library的文档:

  

上传开始时,每个上传数据块以及成功或失败时,都会调用已更改进度的通知。

关于块大小:

  

默认块大小为10MB,但您可以通过将请求中的ChunkSize属性设置为256KB的任意倍数来更改它。