Использование API Google Drive для загрузки файлов.Одновременно запускается несколько консольных приложений для загрузки различных частей файлов в папку, и их файлы не перекрываются.Это достигает предела квоты.Затем реализуется while-try-catch для повторного выполнения запроса всякий раз, когда он выдает исключение из-за ограничения квоты.Метод list и create directory работает хорошо, но не метод загрузки (т.е. создания).Некоторые файлы отсутствуют при проверке с сайта Google Диска
Пробовал использовать FileStream вместо MemoryStream, но, похоже, это не связано.
public static Google.Apis.Drive.v3.Data.File uploadFile(DriveService _service, string _uploadFile)
{
bool again = true;
string[] p = _uploadFile.Split('/');
if (System.IO.File.Exists("C:/"+_uploadFile))
{
Google.Apis.Drive.v3.Data.File body = new Google.Apis.Drive.v3.Data.File();
body.Name = System.IO.Path.GetFileName(p[p.Length-1]);
body.Description = "";
body.MimeType = GetMimeType("C:/"+_uploadFile);
body.Parents = new List<string>() { ID };
// File's content.
System.IO.FileStream stream = new System.IO.FileStream("C:/" + _uploadFile, FileMode.Open);
try
{
FilesResource.CreateMediaUpload request = _service.Files.Create(body, stream, GetMimeType("C:/" + _uploadFile));
while (again)
{
try
{
request.Upload();
again = false;
}
catch (Exception e)
{
Console.WriteLine("uploadFile: "+p[p.Length-1]);
}
}
return body;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
return null;
}
}
else
{
Console.WriteLine("File does not exist: " + _uploadFile);
return null;
}
}