在WP7中将azure blob的内容类型设置为图像

时间:2012-04-28 01:40:23

标签: windows-phone-7 azure azure-storage azure-storage-blobs

我正在将手机相机上的照片流上传到azure。我正在上传e.ChosenPhoto,这是拍摄照片的一个流,我正在使用blob.Metadata["ImageType"] = "image/jpeg";但是,当照片上传时,内容标记为application/octet-stream,当我转到网址时浏览器下载照片而不是显示它。

为了让它成为jpg,我需要采取哪些步骤?

编辑:似乎WAT for WP附带的图书馆 - WindowsPhoneCloud.StorageClient.dll 根本不支持blob.Propeties。 (也许是因为WP只支持异步调用?)是否有关于设置内容类型的解决方法?

2 个答案:

答案 0 :(得分:4)

尝试设置blob.Properties.ContentType = "image/jpeg"

答案 1 :(得分:0)

除非使用SAS,否则强烈建议我们使用云服务上传blob。如果我们直接从没有SAS的Windows Phone上传blob,我们必须在Windows Phone应用程序中嵌入我们的存储帐户密钥。如果黑客获得密钥,他将完全控制我们的Windows Azure存储帐户。例如,他可以将多个TB数据上传到存储,并要求我们为数据付费。因此,请尝试在Windows Azure中托管服务,而不是尝试从Windows Phone上传Blob。我们将图像上传到我们的服务,我们的服务将文件保存在blob中。只要我们不在任何响应中返回存储密钥,它就是安全的。

如果我们必须直接从没有SAS的Windows Phone上传,我们可能需要手动使用REST API才能使该方案正常工作。根据{{​​3}},WAT库不允许我们指定内容类型。另外,我想指出WAT只是一个工具包。它不是内置的Windows Azure组件。

最诚挚的问候,

徐明。