返回顶部
首页 > 资讯 > 后端开发 > GO >将图像上传到 MinIO
  • 555
分享到

将图像上传到 MinIO

2024-04-05 00:04:23 555人浏览 薄情痞子
摘要

小伙伴们对golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《将图像上传到 MiNIO》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的

小伙伴们对golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《将图像上传到 MiNIO》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

我想将.png格式的图片上传到minio。但我遇到错误找不到目录的问题

error: open /sensors/download (1).png: no such file or directory

我在名为 ems_service 的 minio 存储桶中创建了一个名为 ems_service 的目录文件,其名称为传感器名称。

就像我编写的使用 Go 和 minio 上传图像文件的代码

ctx := context.Background()
    endpoint := config.MINIO_ENDPOINT
    accessKeyID := config.MINIO_ID
    secretAccessKey := config.MINIO_KEY
    useSSL := true
    contentType := "image/png"
    location := "us-east-1"

    utilities.Info.Printf("secret access key: %+v", secretAccessKey)
    utilities.Info.Printf("access ID: %+v", accessKeyID)

    // Initialize minio client object.
    minioclient, err := minio.New(endpoint, &minio.Options{
        Creds:  credentials.NewStaticV4(accessKeyID, secretAccessKey, ""),
        Secure: useSSL,
    })

    // minioClient, err := minio.New(endpoint, accessKeyID, secretAccessKey, useSSL)

    if err != nil {
        utilities.Error.Printf("Error minio Client : %s", err)
        response[config.MESSAGE_RESPONSE_INDEX] = "Error Minio Client"
        c.JSON(Http.StatusInternalServerError, response)
        return
    }


    bucketName := config.MINIO_BUCKET_NAME

    utilities.Info.Printf("minio client: %+v", &minioClient)
    utilities.Info.Printf("Bucket name check: %+v\n", bucketName)
    utilities.Info.Printf("Endpoint URL minio: %+v", endpoint)
   
    // Make a new bucket.
    err = minioClient.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: location, ObjectLocking: true})
    // err = minioClient.MakeBucket(bucketName, location)
    if err != nil {
        // Check to see if we already own this bucket (which happens if you run this twice)
        exists, errBucketExists := minioClient.BucketExists(ctx, bucketName)
        utilities.Info.Printf("bucket exists: %+v", exists)
        if errBucketExists == nil && exists {
            utilities.Info.Printf("We already own %+v\n", bucketName)
        } else {
            utilities.Error.Printf("make bucket error : %s", err)
            response[config.MESSAGE_RESPONSE_INDEX] = "make bucket error"
            c.jsON(http.StatusInternalServerError, response)
            return
        }
    } else {
        utilities.Info.Printf("Successfully created %s\n", bucketName)
    }


    fileNORMalIcon, _ := c.FormFile("file_normal_icon")
    utilities.Info.Printf("filenormalicon: %+v", fileNormalIcon)
    var pathNormalIcon string
    if fileNormalIcon != nil {
        // Upload the .png file
        pathNormalIcon = "/sensors/" + fileNormalIcon.Filename
        utilities.Info.Printf("Pathnormalicon: %+v", pathNormalIcon)
        utilities.Info.Printf("Endpoint URL minio: %+v", endpoint)
        utilities.Info.Printf("Bucket name check: %+v\n", bucketName)

        // Upload file .png with FPutObject

        output, err := minioClient.FPutObject(ctx, bucketName, fileNormalIcon.Filename, pathNormalIcon, minio.PutObjectOptions{ContentType: contentType})
        if err != nil {
            utilities.Error.Printf("Error upload image to bucket: %s", err)
            response[config.MESSAGE_RESPONSE_INDEX] = fmt.Sprintf("err: %s", err.Error())
            c.JSON(http.StatusInternalServerError, response)
            return
        }

        utilities.Info.Panicf("result: %+v", output)

        data["normal_icon"] = pathNormalIcon
        dataUpdateExist = true
    }

minio go api 参考代码文档链接

minio go 客户端 api


正确答案


您可以按照以下方式通过 go client api 将图像放入 minio:

前置步骤:

  1. 执行 minio:
$ minio_root_user=minio minio_root_passWord=minio123 minio server /volumes/data{1...4} --address :9000 --console-address :9001
minio object storage server
status:         4 online, 0 offline. 
api: http://192.168.0.13:9000  http://127.0.0.1:9000                             
rootuser: minio 
rootpass: minio123 
console: http://192.168.0.13:9001 http://127.0.0.1:9001               
rootuser: minio 
rootpass: minio123 

command-line: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set myminio http://192.168.0.13:9000 minio minio123

documentation: https://min.io/docs/minio/linux/index.html
  • 创建存储桶:
  • 准备好您的图像,以便 go 代码可以读取它
  • $ ls
    my-filename.png put.go
    

    步骤:

    1. 使用此代码:
    package main
    
    import (
        "context"
        "log"
    
        "GitHub.com/minio/minio-go/v7"
        "github.com/minio/minio-go/v7/pkg/credentials"
    )
    
    func main() {
        endpoint := "127.0.0.1:9000"
        accesskeyid := "minio"
        secretaccesskey := "minio123"
        usessl := false
    
        s3client, err := minio.new(
            endpoint, &minio.options{
            creds:  credentials.newstaticv4(accesskeyid, secretaccesskey, ""),
            secure: usessl,
        })
        if err != nil {
            log.fatalln(err)
        }
    
        if _, err := s3client.fputobject(context.background(), "my-bucketname", "my-objectname.png", "my-filename.png", minio.putobjectoptions{
            contenttype: "application/csv",
        }); err != nil {
            log.fatalln(err)
        }
        log.println("successfully uploaded")
    }
    
    
  • 编译并运行 go 代码:
  • $ go build put.go
    $ ./put
    2023/03/18 17:41:04 Successfully uploaded
    
  • 然后在控制台中观看图像:
  • 希望这有帮助! :)

    以上就是《将图像上传到 MinIO》的详细内容,更多关于的资料请关注编程网公众号!

    您可能感兴趣的文档:

    --结束END--

    本文标题: 将图像上传到 MinIO

    本文链接: https://lsjlt.com/news/596580.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • 将图像上传到 MinIO
      小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《将图像上传到 MinIO》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的...
      99+
      2024-04-05
    • Java 上传文件到MinIO服务器上
      一、MinIO配置 主界面: 2.创建桶的文件路径 你可以设置任意想要配置的路径  3.管理桶权限 这里Prefix写 * 是为了匹配所有请求路径 Access: readonly就可以通过url访问图片了。 二、SpringBoo...
      99+
      2023-10-02
      java spring boot okhttp
    • NodeJS中怎么将文件或图像上传到服务器
      这期内容当中小编将会给大家带来有关NodeJS中怎么将文件或图像上传到服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建空白的Node JS Web应用程序在package.json中设置依赖关系开...
      99+
      2023-06-17
    • minio分片上传
      oss文件服务 一、前言 ​ Minio是一个对象存储服务OSS(Object Storage Service)。是⼀种海量、安全、低成本、⾼可靠的云存储服务。本身的应用的并不复杂。 但是Minio的APi在对于大于5m的文件,自动采用了分...
      99+
      2023-08-19
      数据库 java 服务器
    • vue怎么将图片上传到服务器
      这篇文章主要介绍“vue怎么将图片上传到服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么将图片上传到服务器”文章能帮助大家解决问题。一、准备工作下载 vue-quill-editorn...
      99+
      2023-06-27
    • TypeScript前端上传文件到MinIO示例详解
      目录什么是MinIO本地Docker部署测试服务器上传的APITypeScript实现1. XMLHttpRequest2. Fetch API3. Axios从后端获取临时上传链接...
      99+
      2022-11-13
      TypeScript前端上传到MinIO TypeScript前端文件上传
    • idea将项目上传到Gitee的图文过程
      1.如果没有gitee账号,到gitee官网注册一个Gitee账号(注意:尽量不要有中文) 登录gitee账号(代表注册成功) 2.打开idea 3.点击file-->s...
      99+
      2024-04-02
    • docker将镜像导出到本地,上传至内网服务器上
      docker将镜像导出到本地,上传至内网服务器上 背景:在企业中往往出现了内网不能和外网相通,不能使用docker pull命令来拉取镜像,这个时候我们就可以考虑在有所需镜像的服务器上导出镜像,再将其...
      99+
      2023-09-08
      docker 服务器 容器
    • MinIO实现文件上传存储
      MinIO 目录MinIO概念MinIO下载安装启动下载安装启动 MinIO实现上传文件导入maven坐标在application文件添加配置实现代码 目录 MinIO概念...
      99+
      2023-09-02
      java
    • Java如何实现将图片上传到webapp路径下
      这篇文章将为大家详细讲解有关Java如何实现将图片上传到webapp路径下,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。将图片上传到webapp路径下 路径获取方式此方法获取到工程webap...
      99+
      2023-06-25
    • 如何将应用上传到TestFlight
      如何将应用上传到TestFlight 将应用上传至TestFlight分为以下几个步骤 下载上传工具,mac直接可以下载Transporter(https://apps.apple.com/cn/app/transporter/id14...
      99+
      2023-09-07
      ios
    • 如何将网页上传到vps
      要将网页上传到VPS,您可以按照以下步骤进行操作:1. 在本地计算机上将网页文件打包成一个压缩文件(如zip或tar.gz格式)。2...
      99+
      2023-08-20
      vps
    • 怎么将项目上传到Gitee
      本篇内容介绍了“怎么将项目上传到Gitee”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建Gitee账户并登录首先,你需要在Gitee官网...
      99+
      2023-07-05
    • 如何将文档上传到Gitee
      这篇“如何将文档上传到Gitee”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何将文档上传到Gitee”文章吧。准备上传的...
      99+
      2023-07-05
    • 在 PHP 中上传多个图像
      在我们的 PHP 应用程序中,尤其是基于用户的应用程序中,有时我们可能需要一次上传多个文件。 借助 PHP 函数和 HTML 功能,这非常容易实现。 为了使之成为可能,我们需要根据您构建代码库的方式...
      99+
      2024-02-27
    • 如何将本地文件上传到gitlab上
      随着云计算技术的发展和普及,越来越多的软件开发项目都开始采用云端的代码管理平台来进行协作和管理。其中,GitLab因为其简单易用、功能强大等优点,成为了很多企业和开发团队的首选。但是,对于一些开发者来说,如何将本地文件上传到GitLab上还...
      99+
      2023-10-22
    • 怎么将html上传到云服务器上
      您可以通过以下步骤将HTML文件上传到云服务器上:1. 获取云服务器的登录凭证,包括IP地址、用户名和密码等信息。2. 使用一个FT...
      99+
      2023-08-08
      html 云服务器
    • Python怎么实现上传Minio文件
      本篇内容介绍了“Python怎么实现上传Minio文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境依赖安装minio以及oss2依赖p...
      99+
      2023-06-25
    • Android将图片上传到php服务器的实例代码
      layout中很普通,就是两个button和一个ImageView<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="htt...
      99+
      2023-05-30
      android 图片上传 服务器
    • 绍如何将代码上传到码云 (gitee)上
      在这个时代,写程序是越来越普遍,并且有一个版本控制系统是非常重要的。在下面的文章中,我们将介绍如何将代码上传到码云 (gitee)上。注册账号首先,你需要在 https://gitee.com 注册一个账号。注册过程非常简单,只需要提供一些...
      99+
      2023-10-22
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作