我有一个使用 Google Drive 来管理文件的 winforms 应用程序。我的文件上传方法相当简单:
public static File UploadFile(string sourcefile, string description, string mimeType, int attempt)
{
try
{
string title = Path.GetFileName(sourcefile);
var file = new File {Title = title, Description = description, MimeType = mimeType};
byte[] bytearray = System.IO.File.ReadAllBytes(sourcefile);
var stream = new MemoryStream(bytearray);
FilesResource.InsertMediaUpload request = DriveService.Files.Insert(file, stream, "text/html");
request.Convert = false;
request.Upload();
File result = request.ResponseBody;
return result;
}
catch (Exception e)
{
if(attempt<10)
{
return UploadFile(sourcefile, description, mimeType, attempt + 1);
}
else
{
throw e;
}
}
}
这可行,但在使用 Google Drive 之前,我使用了 FTP 解决方案,它允许异步上传操作。我想在文件上传时包含一个进度条,但我不知道是否有办法异步调用 InserMediaUpload。这种能力存在吗?
谢谢你。