https://github.com/ddouglss/storage-file
Implementação de um servidor de armazenamento de arquivos utilizando Spring Boot.
https://github.com/ddouglss/storage-file
file-download file-upload intellij-idea java maven postman spring-boot spring-mvc
Last synced: 7 months ago
JSON representation
Implementação de um servidor de armazenamento de arquivos utilizando Spring Boot.
- Host: GitHub
- URL: https://github.com/ddouglss/storage-file
- Owner: ddouglss
- Created: 2025-09-09T01:18:05.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-09-09T05:05:26.000Z (7 months ago)
- Last Synced: 2025-09-09T06:33:22.516Z (7 months ago)
- Topics: file-download, file-upload, intellij-idea, java, maven, postman, spring-boot, spring-mvc
- Language: Java
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🗂 File Storage API
Uma API REST em Spring Boot para upload, download e listagem de arquivos, permitindo armazenamento simples de arquivos em uma pasta configurável no servidor.
## 🛠 Tecnologias utilizadas
- **Java 21**
- **Back-end:**
- **Spring Boot 3.5.5**
- **Spring Web MVC**
- **Spring Configuration Properties**
- **Jakarta Servlet**
- **Maven**
- **IDE: IntelliJ IDEA**
- **Postman (para testes)**
## Funcionalidades
**Upload de arquivos**
- Endpoint: ```POST /v1/files/upload```
- Permite enviar arquivos via ``` multipart/form-data.```
- Retorna um link para download do arquivo enviado.
**Download de arquivos**
- Endpoint: ```GET /v1/files/download/{fileName}```
- Permite baixar arquivos armazenados na pasta configurada.
- O arquivo é baixado com o mesmo nome enviado no upload.
**Listagem de arquivos**
Endpoint: ```GET /v1/files/list```
- Retorna uma lista de todos os arquivos disponíveis na pasta de armazenamento.
## ⚙ Configuração
No arquivo ```application.properties```:
```properties
# Caminho da pasta de armazenamento dos arquivos
file.upload-dir=C:/Users/Douglas/Documents/file-storage/tmp
```
## 📦 Estrutura do Projeto
``` bash
src
└─ main
├─ java
│ └─ br.com.filestorage
│ ├─ controller
│ │ └─ FileStorageController.java
│ └─ model
│ └─ FileStorageProperties.java
└─ resources
└─ application.properties
```
## ⚠️ Observações
- A API retorna 404 se o arquivo não existir.
- Todos os arquivos são armazenados localmente, atenção ao espaço em disco e permissões.
- Para produção, recomenda-se integração com armazenamento em nuvem (AWS S3, GCP Storage, Azure Blob).
## Autor
Douglas Souza Silva
- Linkedin : https://www.linkedin.com/in/ddouglss/