我在Blob容器中有以下代码存储文件,即:
CloudBlob blob = container.GetBlobReference("Images/page11/Orange box.png");
blob.UploadFromStream(mnm);
blob.Metadata["FileName"] = "Orange box.png";
blob.SetMetadata();
我已成功存储在容器中,如“Images / page11 / Orange box.png”,但是当我获取属性时出现错误 Blob引用的BlobType与blob的BlobType不匹配使用此代码。
blob.FetchAttributes();
return true;
这是从容器中获取Blob的正确方法吗?
答案 0 :(得分:2)
我不知道你是如何准确地得到这个错误的,但它看起来好像是与BlobType有关。不确定你是否已经知道但有两种类型的blob,块和页面。对于图像,使用Block blob通常会更好。因此,将第一行更改为container.GetBlockBlobReference("etc...");
无论如何,要回答您的问题以从容器中获取blob,您可以执行blob.DownloadToFile
或DownloadToByteArray
或DownloadAsText
。哪个与你最相关。
不确定您要做什么,但是因为它是一张图片,所以如果对您来说更方便,您可以对该位置进行网络请求,例如<img src="http://myapp.blob.core.windows.net/myaccount/images/page11/orange box.png" />
或直接在浏览器中找到它。
看起来你试图在那段代码中找到属性?如果是这样,您只需执行blob.Attributes.MetaData["FileName"]