Utilizando Storage Blob Azure em ASP .NET Core
Neste artigo, o autor fala sobre o Storage Blob do Microsoft Azure e desmistifica o local de hospedagem de imagens e upload de arquivos.

Olá, pessoal!
Quando desenvolvemos uma API, muitas vezes precisamos fazer upload de arquivos, e não sabemos se estamos fazendo da melhor forma. Ficamos na dúvida de fazer um upload com um Base64 ou via Form, mas questionamos depois disso:
Onde vamos hospedar essa imagem?
- Será em banco de dados↳Banco de dados134 conteúdosSQL ou NoSQL: eis a questão!!Data · mar 2020Banco de dados: como organizar e dar segurança para milhões de dados de loteriasData · mai 20215 serviços gratuitos na cloud para bancos de dados PostgresData · fev 2025Ver tudo em Data →?
- Como vai ficar a performance?
- Colocamos em uma pasta no projeto?
- E se meu projeto ficar grande?
Existem várias estratégias para isso, mas existe uma ferramenta ótima para reservar essas imagens, arquivos e etc. Um local que ficará fora de sua infra, e com isso ganhando agilidade e processamento para a sua aplicação. Essa ferramenta é o Storage Blog do Azure↳Azure76 conteúdosDeploy de Azure Stream Analytics job com CI/CD usando Azure PipelinesDevSecOps · mai 2019Azure – Como criar uma base de dados SQL no Microsoft Azure pronta para ser utilizadaData · abr 2019Azure Static Web Apps com Vue.js e Visual Studio CodeDevSecOps · out 2023Ver tudo em DevSecOps →.
Utilizando essa ferramenta, hospedamos todas as imagens, arquivos e etc, neste serviço do Azure.
O primeiro passo é criar e configurar o storage em sua conta no Azure. Para isso, vamos utilizar o Cloud Shell do Azure. Ao lado direito superior de sua tela, existe o ícone do Cloud Shell.

Ao clicar, irá abrir esse console:

Para a criação do storage, primeiramente precisamos criar um grupo de recursos de controle do storage. Utilize esse comando:
az group create --name [nome do seu recurso] -- location brazilsouth
No exemplo eu criei um grupo de recursos de nome StorageTeste.

Grupo de recursos criado no Azure
Depois disso, precisamos criar uma conta de armazenamento para o storage. Utilize esse comando:
az storage account create –name [nome do storage ]\
–location brazilsouth –resource-group [nome do seu recurso]\
–sku Standard_LRS \
–kind BlobStorage \
–access-tier Hot
No exemplo eu criei uma conta de armazenamento storagetesteexemplo.

Conta de armazenamento criada. Dentro desta conta de armazenamento, vamos criar um container para o armazenamento das imagens. Esse container vai se chamar image.

Criação do container

Agora vamos criar uma API que irá receber uma imagem via request e fazer o armazenamento do mesmo neste storage que criamos dentro do Azure.

Vamos adicionar as seguintes referências do NUGET:
PM> install-package WindowsAzure.Storage
A referência WindowsAzure.Storage será para fazer o Upload da imagem no storage do Azure. Criei na estrutura da API, duas pastas com seus objetos conforme imagem abaixo:

Adicionei as classes:
- StorageConfig.cs: classe onde receberá os dados da conta de armazenamento do Azure.
- StorageHelper.cs; será a classe responsável para a comunicação e upload da imagem ao storage do Azure
- JsonImage: será uma entidade de retorno da url da imagem no storage
Na classe StorageHelper.cs, existe o método:
UploadFileToStorage

Agora preciso criar a conexão da minha aplicação com o Azure. Para isso, existe na conta de armazenamento do Azure chaves de conexão do serviço que ficam armazenadas nas configurações da conta, na opção Chaves de acesso.

Crie no arquivo de configuração appsettings.json, com as configurações de chaves de acesso.

Edite seu arquivo Startup.cs, para que ele leia do arquivo de configuração a sua chave de acesso.

Crie uma nova controller na API e adicione um método POST para o upload da imagem.

Rode sua aplicação e vamos testar usando o Postman!

Adicione a imagem, como se fosse um site fazendo o upload. Na chave, coloque o nome “file”, pois é o mesmo nome do parâmetro do método na API e depois execute.
A API irá retornar sucesso com o retorno do endereço http da imagem:

Ao referenciar em um html↳HTML45 conteúdosA importância do HTML e CSS para quem trabalha com UI Design e Design SystemProduto & UX · dez 2024Como hostear seu site HTML gratuitamente com GitHub PagesDev (Back & Front) · jun 2025SQL Server – Como criar um versionamento de código das suas Stored Procedures em HTML e com comentários da alteraçãoData · nov 2020Ver tudo em Dev (Back & Front) →, a imagem:

Bom, pessoal, espero que tenham gostado deste artigo! Uma ótima ferramenta para resolver uploads de arquivos em suas aplicações usando o Azure e .NET Core. Segue solution desse exemplo no meu GitHub:






