Windows phone 7 如何使用SAS从WP应用程序将照片上载到Azure Blob?

Windows phone 7 如何使用SAS从WP应用程序将照片上载到Azure Blob?,windows-phone-7,azure,azure-storage,azure-storage-blobs,Windows Phone 7,Azure,Azure Storage,Azure Storage Blobs,我可以使用SAS从Azure MVC web角色将照片上载到blob,代码如下: using (var WS = new HLServiceClient()) { /* Getting a SAS Write URI */ var sasUri = WS.GetSasUriForBlobWrite(HLServiceReference.BusinessLogicMediaUsage.News, fileName); var writeBlob = new C

我可以使用SAS从Azure MVC web角色将照片上载到blob,代码如下:

using (var WS = new HLServiceClient())
{    
     /* Getting a SAS Write URI */
     var sasUri = WS.GetSasUriForBlobWrite(HLServiceReference.BusinessLogicMediaUsage.News, fileName);
     var writeBlob = new CloudBlob(sasUri);
     writeBlob.UploadFromStream(fileData.InputStream);
}
我想在WP应用程序上做同样的事情。但我不知道怎么做。我没有很多编程技巧

你能告诉我如何用SAS从WP应用程序上传照片到blob吗

NuGet:Phone上有一个适用于Windows Phone的Windows Azure存储客户端库。存储,它说“用于Windows Phone直接与Windows Azure存储服务通信的类库”,我希望找到一个简单的解决方案:

我在手机上找到了一个视频教程。存储NuGet:

还有一个示例应用程序演示Phone.Storage numget的用法。


尽管如此,如果我能在我的应用程序场景中实现这一点,我还是回避了这个问题。

首先,您需要从托管服务生成SAS。您可以使用CloudBlob.GetSharedAccessSignature方法(有关示例,请参阅)

在Windows Phone端,对于小文件,只需向SAS URL发出HTTP请求。您可以使用HttpWebRequest来实现这一点。试着在网上搜索,你可以找到很多样本,比如

对于大文件(大于64MB),您需要将它们分成更小的部分,将每个部分作为块上载,然后提交blob列表(PUT block list:)。这是一项乏味但并不困难的任务。您需要创建相当多的HTTP请求


适用于Windows Phone的Windows Azure Toolkit也可能有帮助:。它包含一个类似于.NET的Windows Azure库的库。

感谢您的回复。我对使用它感兴趣,它有一个示例应用程序,您可以通过NuGet安装,但当我尝试运行时,总是会出现错误:“其中一个HTTP头的值的格式不正确。RequestId:38df4766-0da8-4212-84a1-3da0c994a876时间:2012-06-06T14:50:02.0209600Z”。怎么办?尝试使用Fiddler来监视请求。您将获得有关错误的更多信息。