Я протестировал ваш код, и он работает в моем веб-приложении MVC, как показано ниже.
public ActionResult Download()
{
ContentResult contentResult = new ContentResult();
contentResult.Content = DownloadBlob();
return contentResult;
}
public static string DownloadBlob()
{
try
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=leeliublob;AccountKey=O7xB6ebGq8e86XQSy2vkvSi/x/e9l9FhLqayXcbz1R+E0mIcJ5Wjkly1DsQPYY5dF2JrAVHtBozbJo29ZrrGJA==;EndpointSuffix=core.windows.net");
CloudBlobClient cloudBlobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = cloudBlobClient.GetContainerReference("mycontainer");
CloudBlockBlob blob = container.GetBlockBlobReference("4.PNG");
using (var fileStream = System.IO.File.OpenWrite(@"C:\Test\BlobTest.PNG"))
{
blob.DownloadToStream(fileStream);
}
return "success!";
}
catch(Exception ex)
{
return ex.StackTrace;
}
}
Я думаю, что это проблема с разрешением вашего приложения MVC.
Ваш MVCПриложение может использовать виртуальную учетную запись IIS, как показано ниже, оно может не иметь доступа к вашему диску C.
Чтобы решить эту проблему, есть два способа:
Пожалуйста, попробуйте загрузить на другой диск, например, "E" или "D ".
Пожалуйста, добавьте группу пользователей" Прошедшие проверку "в этот файл или папку, как показано ниже.
Обновление:
Я воспроизвел вашу проблему, как показано ниже:
Нам нужно создать папку в корневом каталоге диска C, как показано ниже, поскольку у вашего веб-приложения нет прав доступа к корневому каталогу диска C: