小编Pra*_*gde的帖子

如何使用gin框架将文件上传到amazon s3

我正在尝试使用 Go 的 gin 框架将文件上传到 Amazon S3。由于 aws-sdc 需要读取文件,我需要使用 os.open('filename') 打开文件。但是由于我从“formFile”获取文件,所以我没有要打开的文件的路径,os.Open()所以给出错误

该系统找不到指定的文件。

我的做法如下

package controllers

import (
    "bytes"
    "log"
    "net/http"
    "os"

    "github.com/gin-gonic/gin"

    "github.com/aws/aws-sdk-go/aws"
    "github.com/aws/aws-sdk-go/aws/credentials"
    "github.com/aws/aws-sdk-go/aws/session"
    "github.com/aws/aws-sdk-go/service/s3"
)

const (
    S3_REGION = "MY REGION"
    S3_BUCKET = "<MY BUCKET>"
)

func UploadDocument(c *gin.Context) {
    var Buf bytes.Buffer
    file, _ := c.FormFile("file")

    creds := credentials.NewSharedCredentials("", "default")

    s, err := session.NewSession(&aws.Config{
        Region:      aws.String(S3_REGION),
        Credentials: creds,
    })
    if err != nil {
        log.Fatal(err)
    }

    err = AddFilesToS3(s, file.fileName)
    if err != nil { …
Run Code Online (Sandbox Code Playgroud)

file-upload amazon-s3 go go-gin

1
推荐指数
1
解决办法
5024
查看次数

标签 统计

amazon-s3 ×1

file-upload ×1

go ×1

go-gin ×1