【问题标题】:Google drive SDK: Cancel upload谷歌驱动SDK:取消上传
【发布时间】:2023-04-04 13:52:01
【问题描述】:
如何用Google Drive SDK取消文件上传请求?
我正在创建调用的 .NET 4 任务
FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, body.MimeType);
request.Upload();
我不能在这里使用取消令牌来取消我的任务,我也找不到任何取消请求的方法。我应该如何停止上传过程?\
更新
喂?有人吗?
【问题讨论】:
标签:
google-drive-api
google-api-dotnet-client
request-cancelling
【解决方案1】:
Google 支持“很棒”。我想即使在happy housewives club forum 上,我至少会得到一个答案。
我已经知道这是不可能的,并且我自己添加了取消支持以上传功能,但是伙计们,如果您提供支持,则需要不时回答。这不是第一次长时间等待 Google 支持的响应。
Here 你说你在 Stack Overflow 上支持 Google Drive SDK。您肯定需要提高响应能力。
对于其他可能感兴趣的人。
我将项目更改为使用 .NET Framework 4.0,并在文件 Src\GoogleApis\Apis\Upload\ResumableUpload.cs 中将重载 CancellationToken token 参数添加到 Upload 函数。
do
{
token.ThrowIfCancellationRequested(); // <----------------------
bytesSent += SendChunk(contentStream, url, bytesSent);
UpdateProgress(UploadStatus.Uploading, bytesSent);
} while (bytesSent < contentStream.Length);
然后在上传循环中添加标记行。
为避免测试失败,您还可以像这样重载 Upload 函数
public void Upload()
{
Upload(new CancellationTokenSource().Token);
}
就是这样。