go-gin-file
Golang + Gin + MiniO
S3を想定したファイルダウンロード/アップロード実装です。MiniOを利用し、ローカル環境上でのストレージ利用を可能とします。
├── main.go
├── docker-compose.yml
├── common
| ├── aws.go
| ├── db.go
| ├── response.go
| └── utils.go
├── config
| ├── app.ini
| └── config.go
├── app
| ├── models
| | ├── files.go
| | └── users.go
| └── api
| ├── controllers.go
| ├── file_controllers.go
| └── user_controllers.go
└── routes
└── api.go
テーブル名 | 概要 |
---|---|
files | ファイルテーブル。アップロードされたファイルの情報。 |
users | ユーザーテーブル。サービスの利用者情報。 |
書名 | 概要 |
---|---|
ファイル利用 | ファイルアップロード/ダウンロードについて |
- DBの環境は以下を想定します。
- MySQL
- GORM
- create schemaのみ行う必要があります。DDL
- app.iniに対してDB接続情報を定義してください。
- テーブルはGORMが提供するAutoMigrateを利用します。
MinIOの利用にDockerを利用しています。Dockerの導入を行ってください。
アプリケーションのスタートはデバッガを推奨しています。
Run and DebugのRun go-echo-file
から実行してください。