go调用minio上传文件
1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "log" 7 "os" 8 9 "github.com/minio/minio-go/v7" 10 "github.com/minio/minio-go/v7/pkg/credentials" 11 ) 12 13 func main() { 14 endpoint := "192.168.1.180:9000" // Minio服务器的endpoint 15 accessKeyID := "0jvCjuYVYKBFHQ2iZNre" // Minio服务器的Access Key 16 secretAccessKey := "mCmXYyaShgjHRf23nvUYzXbERQQXLSTZZpJVPXfK" // Minio服务器的Secret Key 17 useSSL := false // 是否使用SSL连接 18 19 // 初始化Minio客戶端 20 minioClient, err := minio.New(endpoint, &minio.Options{ 21 Creds: credentials.NewStaticV4(accessKeyID, secretAccessKey, ""), 22 Secure: useSSL, 23 }) 24 if err != nil { 25 log.Fatalln(err) 26 } 27 28 // 设定上传件的bucket和object名称,以及本地文件路径 29 bucketName := "test" 30 objectName := "images" 31 filePath := "C:\\Users\\Administrator\\Pictures\\book.jpg" 32 33 // 打开本地文件并获取文件信息 34 file, err := os.Open(filePath) 35 if err != nil { 36 log.Fatalln(err) 37 } 38 defer file.Close() 39 fileInfo, err := file.Stat() 40 if err != nil { 41 log.Fatalln(err) 42 } 43 44 // 建立一個上传对象 45 _, err = minioClient.PutObject( 46 context.Background(), 47 // 上传对象的bucket和object名称 48 bucketName, 49 objectName, 50 // 上传对象的內容 51 file, 52 // 上傳对象的大小 53 fileInfo.Size(), 54 // 上传对象的MIME类別 55 minio.PutObjectOptions{ContentType: "image/jpeg"}, 56 ) 57 if err != nil { 58 log.Fatalln(err) 59 } 60 61 fmt.Println("File uploaded successfully") 62 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~