首页 > 其他分享 >go调用minio上传文件

go调用minio上传文件

时间:2023-06-13 17:44:52浏览次数:42  
标签:Minio err log 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 }

 

 

标签:Minio,err,log,go,上传,minio
From: https://www.cnblogs.com/lukeme/p/17478334.html

相关文章

  • GO语言集成开发工具环境-JetBrains GoLand 2023
    Go是一种开源编程语言,适用于开发高效、可扩展的软件。由于其高效性和可扩展性,Go已经成为了一种流行的编程语言。为了更好地开发Go应用程序,JetBrains公司开发了一款Go语言集成开发工具环境——GoLand。→→↓↓载GoLand2023mac/win版 GoLand提供了一系列功能和工具,帮助开发......
  • 新的Google Lyra音频编解码器对实时视频流意味着什么?
    正文字数:2602 阅读时长:4分钟通过语言编码中的码率缩减趋势,Lyra与Opus中的区别比较,Lyra的作用,XDN平台上的高效语音编码技术几个方面探讨新的GoogleLyra音频编解码器对实时视频流的意义。文/ RED5PRO https://www.red5pro.com/blog/what-does-the-new-google-lyra-audio-codec-......
  • vue WebUploader 分片上传
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • postman运行collection上传文件脚本 console报错 Form param `file`, file load error
    postman运行collection上传文件脚本console报错Formparam`file`,fileloaderror:PPERM:insecurefileaccessoutsideworkingdirectory是因为没有打开上传的文件的所在目录解决办法有两种:1)在files路径下存放你所要的测试数据2)开启允许读取工作目录外的文件......
  • beego 跨域
    网上资料大部分跨域设置引入插件github.com/astaxie/beego/plugins/cors//允许跨域 beego.InsertFilter("*",beego.BeforeRouter,cors.Allow(&cors.Options{ AllowAllOrigins:true, AllowMethods:[]string{"GET","POST","PUT",&......
  • 完美解决SpringBoot上传图片之后,需要重服务才能访问
    上传图片后需要重新编译才能访问图片添加一个配置文件WebMvcConfigctrl+shift+alt+/选择Registry,勾选compiler.automake.allow.when.app.running勾选添加一个配置文件WebMvcConfigpackagecom.fans.common.config;importorg.springframework.context.annotation.Configu......
  • 修改goland 的颜色
    安装的goland默认的是darcula主题,暗黑系,在编码的同时还需要查询资料,浏览器的背影是白色的,偏亮,所以在来回切的时候,我又不可能切换一个界面换一个屏幕亮度,goland界面的亮度要比浏览器高两格亮度,我看起来才舒服,不然有点难受goland->preference->editor->colorscheme->general->col......
  • mac 下Golang 安装Protobuf
    1、安装protobufbrewinstallprotobuf2、检查安装结果protoc--version3、安装golangforprotobuf插件gogetgithub.com/golang/protobuf/protoc-gen-gogoget-u-vgithub.com/golang/protobuf/protoc-gen-gogoget=gitclone+goinstall这里会慢的要死所以我这里采取......
  • go :Multiple-value strconv.Atoi() (int, error) in single-value context
    代码devicePositionType:=strconv.Atoi(info[0]["device_position_type"].(string))报错Multiple-valuestrconv.Atoi()(int,error)insingle-valuecontext这是因为返回的数据有两个参数,代码里只定义了一个,所以代码里需要再加上一个参数,这个参数一般会定义为errdevicePositi......
  • beego: panic: 'detail' method doesn't exist in the controller StudentController
    beego使用报错panic:'detail'methoddoesn'texistinthecontrollerStudentControllergoroutine1[running]:github.com/astaxie/beego.(*ControllerRegister).addWithMethodParams(0xc0000d8d10,0x164d100,0x7,0x1736900,0xc0000c37a0,0x0,0x0,0x......