Загрузка файлов из общей папки Azure C# .NET Framework 4.8 (при получении ошибки из ShareDirectoryClient происходит сбойC#

Место общения программистов C#
Ответить
Anonymous
 Загрузка файлов из общей папки Azure C# .NET Framework 4.8 (при получении ошибки из ShareDirectoryClient происходит сбой

Сообщение Anonymous »

Я могу загрузить все файлы из общей папки Azure, если нет подкаталогов, но всякий раз, когда подкаталог находится внутри каталога, код вылетает с ошибкой:

Код: Выделить всё

Azure.RequestFailedException: 'The specified resource does not exist.
RequestId:0ccda3e3-d01a-00ae-42a5-21fad0000000
Time:2024-10-18T21:31:20.6046993Z
Status: 404 (The specified resource does not exist.)
ErrorCode: ResourceNotFound
Код: (Я пытался использовать item.IsDirectory, но это не пропускает каталоги)

Код: Выделить всё

 public void DownloadALlFiles()
{

// Get a connection string to our Azure Storage account.
string connectionString = "connectionstring";

// Get a reference to a share named "sample-share"
ShareClient share = new ShareClient(connectionString, "clientshare");

// Get a reference to a directory named "sample-dir"
ShareDirectoryClient dir = share.GetDirectoryClient("directory/");

foreach (ShareFileItem item in dir.GetFilesAndDirectories())
{

Console.WriteLine(item.Name);
// Get a reference to a file named "sample-file" in directory "sample-dir"
ShareFileClient file = dir.GetFileClient(item.Name);

// Download the file

ShareFileDownloadInfo download = file.Download();

using (FileStream stream = File.Open("localpath"+ item.Name, FileMode.CreateNew))
{
download.Content.CopyTo(stream);
stream.FlushAsync();
stream.Close();
}

// await file.DeleteAsync();
}

//Console.ReadLine();

}

Позвольте мне уточнить, поэтому я хочу загрузить только файлы, игнорируя подкаталог. Когда подкаталоги отсутствуют, код отлично загружает все файлы. Но всякий раз, когда есть подкаталог, он вылетает с ошибкой, показанной выше. Я устранил проблему доступа и другие распространенные проблемы.
Я пытался использовать следующий код, чтобы пропустить каталог, но при этом также пропускаются файлы.
р>

Код: Выделить всё

if (item.IsDirectory)
{

}
Я почти уверен, что использование item.IsDirectory является решением этой проблемы, но не знаю, как его эффективно интегрировать.

Подробнее здесь: https://stackoverflow.com/questions/791 ... tting-erro
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»