MinIO 文件上传和下载示例
此示例演示了一个简单的 Go Fiber 应用程序,其中包含用于上传单个和多个文件以及从 MinIO 下载文件的模块。每个模块都提供用于文件上传和检索的 REST API 端点,可作为需要文件存储和访问的应用程序的基础。
先决条件
确保您已安装以下软件
项目结构
-
single/main.go
: 向/从 MinIO 上传和下载单个文件的示例。 -
multiple/main.go
: 向 MinIO 上传多个文件以及从 MinIO 下载文件的示例。 -
go.mod
: 管理项目依赖的 Go 模块文件。
入门
1. 克隆仓库
克隆仓库并导航到示例目录
git clone https://github.com/gofiber/recipes.git
cd recipes/minio
2. 安装依赖
使用 Go 的模块系统安装依赖
go mod download
运行示例
上传和下载单个文件
-
进入
single
目录cd single
-
启动应用程序
go run main.go
-
使用
curl
或Postman
上传文件curl -F "document=@/path/to/your/file" http://localhost:3000/upload
-
在请求中指定文件名以下载文件
curl -O http://localhost:3000/file/<filename>
上传多个文件和下载文件
-
进入
multiple
目录cd multiple
-
启动应用程序
go run main.go
-
使用
curl
或Postman
上传多个文件curl -F "documents=@/path/to/your/file1" -F "documents=@/path/to/your/file2" http://localhost:3000/upload
-
在请求中指定文件名以下载文件。
curl -O http://localhost:3000/file/<filename>
代码概览
single/main.go
-
定义处理单个文件上传和下载的路由。
-
包括文件验证、MinIO 连接和存储桶管理的错误处理。
multiple/main.go
-
在一个请求中处理上传多个文件并允许文件下载。
-
验证每个文件,并为成功和失败的上传提供详细响应。
总结
此示例提供了使用 Go Fiber 和 MinIO 管理文件上传和下载的方法。它可以扩展以支持其他功能,例如添加元数据、处理大文件或限制文件访问。