Este post, esclarece as diferenças de uma API que permite integrar arquivos, através de arquivo binário e base 64. Um ponto importante é que utilizando o formato Base 64, o payload aumenta 33% (em média), nas chamadas GET/POST.
O exemplo utiliza Spring Boot.
Desenho da Solução
A solução utiliza REST API, armazenando o arquivo em File System (/uploads/) no local onde a aplicação está rodando.
Swagger UI
De forma a facilitar o entendimento a API, o projeto conta com o Swagger UI, através do Spring Fox.
Para acessar o Swagger UI, basta subir a aplicação e acessar http://localhost:8080/swagger-ui.html.
Postman
GET – List Files
GET – Specif File (obtenção de arquivo binário)
GET – Specif File 64 (obtenção do arquivo em base64 – em torno de 33% maior que o binário) – Verifique o tamanho em Content-Length (12.764) – O arquivo binário tem 9.572 bytes.
POST – Post File
POST – Post File 64
Código
O código-fonte pode ser baixado no Github.