我正在将手机相机上的照片流上传到azure。我正在上传e.ChosenPhoto
,这是拍摄照片的一个流,我正在使用blob.Metadata["ImageType"] = "image/jpeg";
但是,当照片上传时,内容标记为application/octet-stream
,当我转到网址时浏览器下载照片而不是显示它。
为了让它成为jpg,我需要采取哪些步骤?
编辑:似乎WAT for WP附带的图书馆 - WindowsPhoneCloud.StorageClient.dll
根本不支持blob.Propeties
。 (也许是因为WP只支持异步调用?)是否有关于设置内容类型的解决方法?
答案 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组件。
最诚挚的问候,
徐明。