我设置了以下代码来显示上传文件的进度:
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
这项工作是在后台工作线程中完成的,但这不应该影响我的想法吗?
我有没有在这里做的事情?
答案 0 :(得分:0)
引用media upload in the .NET client library的文档:
上传开始时,每个上传数据块以及成功或失败时,都会调用已更改进度的通知。
关于块大小:
默认块大小为10MB,但您可以通过将请求中的ChunkSize属性设置为256KB的任意倍数来更改它。