Microsoft.WindowsAzure.Storage.dll

时间:2016-06-02 13:18:49

标签: azure azure-storage azure-storage-blobs windows-10-universal

我目前正在使用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);

请帮我解决这个问题..

1 个答案:

答案 0 :(得分:3)

这是Win10 Universal Storage Client中的DownloadToFileAsync()方法的一个已知问题(遗憾的是)。该错误已在当前预览版本(7.0.2预览版)中修复,并将在即将发布的非预览版本中修复。要解决您现在的问题,请将您的DownloadToFile调用更改为以下内容:

await blockBlob.DownloadToFileAsync(imgFile, null, null, null, CancellationToken.None);