У меня есть приложение winforms, которое использует Google Диск для управления файлами. Мой метод загрузки файла достаточно прост:Метод загрузки Async Google Диска
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 асинхронно. Существуют ли такие возможности?
спасибо.
Спасибо. Я посмотрю на событие ProgressChanged. – MSD