我目前正在使用Windows 10通用应用程序,这里我正在使用azure存储。
当我从windows azure存储下载文件时,我遇到了上述错误。
这是我的下载代码:
private async Task<int> DownloadFromAzureStorage()
{
try
{
// create Azure Storage
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=<myaccname>;AccountKey=<mykey>");
// create a blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// create a container
CloudBlobContainer container = blobClient.GetContainerReference("sample");
await container.CreateIfNotExistsAsync();
// create a block blob
CloudBlockBlob blockBlob = container.GetBlockBlobReference("abc.jpg");
FileSavePicker openPicker = new FileSavePicker();
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeChoices.Add("File", new List<string>() { ".jpg" });
openPicker.SuggestedFileName = "New Documents";
var imgFile = await openPicker.PickSaveFileAsync();
await blockBlob.DownloadToFileAsync(imgFile); **//Error occuring in this line**
return 1;
}
catch
{
// return error
return 0;
}
}
文件上传到我的azure存储是成功的,但是当我下载到我的上传时我显示错误是“Microsoft.WindowsAzure.Storage.dll中发生的类型'System.StackOverflowException'未处理的异常”等待blockBlob.DownloadToFileAsync(imgFile); 行
请帮我解决这个问题..
答案 0 :(得分:3)
这是Win10 Universal Storage Client中的DownloadToFileAsync()方法的一个已知问题(遗憾的是)。该错误已在当前预览版本(7.0.2预览版)中修复,并将在即将发布的非预览版本中修复。要解决您现在的问题,请将您的DownloadToFile调用更改为以下内容:
await blockBlob.DownloadToFileAsync(imgFile, null, null, null, CancellationToken.None);