2013-08-01 130 views
0

对WPF不熟悉。当我点击我的WPF应用程序中的一个按钮时,我想上传一张图片到azure blob。我有以下代码1-打开文件对话框,2- GetContainer类。 为什么这不起作用? 私人无效btnUpload_Click(对象发件人,RoutedEventArgs E) {Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment引发异常

 // Configure open file dialog box 
     Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
     dlg.FileName = "Picture"; // Default file name 
     //dlg.DefaultExt = ".txt"; // Default file extension 
     dlg.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"; // Filter files by extension 

     // Show open file dialog box 
     Nullable<bool> result = dlg.ShowDialog(); 

     // Process open file dialog box results 
     if (result == true) 
     { 
      // Open document 
      string filename = dlg.FileName;//*********************ABOVE CODE OPENS FILES TO SELECT************************ 
     } 

    } 
      { 
     string uniqueBlobName = Guid.NewGuid().ToString(); 

     // Retrieve storage account from connection string. 
     CloudStorageAccount objStorage = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DefaultEndpointsProtocol=https;AccountName=*********;AccountKey=************) 

     // Create the blob client. 
     CloudBlobClient objclient = objStorage.CreateCloudBlobClient(); 

     // Retrieve a reference to a container. 
     CloudBlobContainer objContainer = objclient.GetContainerReference("rewardsimageblob"); 

     // Create the container if it doesn't already exist. 
     objContainer.CreateIfNotExist(); 

     // Retrieve reference to a blob named "uniqueBlobName" 
     CloudBlob blob = objContainer.GetBlobReference(uniqueBlobName); 

     // Create or overwrite the "uniqueBlobName" blob with contents from a local file. 
     using (var fileStream = System.IO.File.OpenRead(@"path\myfile")) 
     { 
      blob.UploadFromStream(fileStream); 
     }   
} 

}

回答

0

我知道,我们不应该提供链接作为一个答案。

但是这篇Windows Azure文章涵盖了一切。

How to use the Windows Azure Blob Storage Service in .NET

+0

谢谢,我已经做出了改变,但我得到一个错误“并不是所有的路径返回值” – user2631662

+0

你'GetContainer'方法不'return'什么。将'return objContainer;'添加到方法的末尾。 – ywm