BlobType ссылки на BLOB-объект не соответствует BlobType объекта BLOB-объекта? - PullRequest
2 голосов
/ 12 января 2012

У меня есть файл хранилища в контейнере 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", но когда я получаю атрибут, я получаюошибка BlobType для ссылки на BLOB-объект не соответствует BlobType для BLOB-объекта с использованием этого кода.

            blob.FetchAttributes();
            return true;

Это правильный способ получить Blob из контейнера?

1 Ответ

2 голосов
/ 12 января 2012

Я не знаю, как именно вы получаете эту ошибку, но похоже, что это связано с BlobType.Не уверен, если вы уже знаете, но есть два типа BLOB-объектов: блок и страница.Для изображений вам обычно лучше использовать блочные капли.Так что измените первую строку на container.GetBlockBlobReference("etc...");

В любом случае, чтобы ответить на ваш вопрос, чтобы получить блоб из контейнера, вы можете сделать blob.DownloadToFile или DownloadToByteArray или DownloadAsText.Что для вас когда-либо наиболее актуально.

Не уверен, что именно вы пытаетесь сделать, но, поскольку это изображение, вы можете просто сделать веб-запрос в это место, если вам удобнее, например, <img src="http://myapp.blob.core.windows.net/myaccount/images/page11/orange box.png" />найти его прямо в браузере.

Похоже, вы пытаетесь найти атрибуты хотя бы в этом фрагменте кода?Если это так, вы можете просто сделать blob.Attributes.MetaData["FileName"]

...