Eu tenho a resposta para a pergunta. definir a permissão para public.T
container.SetPermissions(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Container });
container.CreateIfNotExists();
Aqui estou usando o emulador de armazenamento local azul. Eu sou capaz de armazenar as imagens no armazenamento de blobs. Eu conectei o emulador de armazenamento azul ao meu banco de dados local, para poder ver o caminho local da imagem no banco de dados. Aqui eu preciso pegar o caminho no código e preciso salvar em outra tabela. aqui está o código. Preciso retornar o caminho da imagem local.
public static CloudBlockBlob getAzureStorage(string imageName)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("images");
container.CreateIfNotExists();
CloudBlockBlob blockBlob = container.GetBlockBlobReference(imageName);
return blockBlob;
}
public static string uploadToAzure(Image img, CloudBlockBlob blockBlob)
{
MemoryStream memoryStream = new MemoryStream();
img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
memoryStream.Position = 0;
blockBlob.UploadFromStream(memoryStream);
return String.Format("http://{0}{1}", blockBlob.Uri.DnsSafeHost, blockBlob.Uri.AbsolutePath);
}
Tags azure cloud-storage