我正在创建一个微服务来处理一些附件上传到 Amazon S3,我想要实现的是接受一个文件,然后将它直接存储到我的 Amazon S3 存储桶,我当前的功能:func upload_handler(w http.ResponseWriter, r *http.Request) { file, header, err := r.FormFile("attachment") if err != nil { fmt.Fprintln(w, err) return } defer file.Close() fileSize, err := file.Seek(0, 2) //2 = from end if err != nil { panic(err) } fmt.Println("File size : ", fileSize) bytes := make([]byte, fileSize) // read into buffer buffer := bufio.NewReader(file) _, err = buffer.Read(bytes) auth := aws.Auth{ AccessKey: "XXXXXXXXXXX", SecretKey: "SECRET_KEY_HERE", } client := s3.New(auth, aws.EUWest) bucket := client.Bucket("attachments") err = bucket.Put(header.Filename, bytes, header.Header.Get("Content-Type"), s3.ACL("public-read")) if err != nil { fmt.Println(err) os.Exit(1) }}问题是存储在S3中的文件都被损坏了,经过一个小的验证,似乎文件payload不是作为字节读取的如何将文件转换为字节并将其正确存储到 S3 ?
1 回答
- 1 回答
- 0 关注
- 277 浏览
添加回答
举报
0/150
提交
取消