当前位置:  开发笔记 > 编程语言 > 正文

golang s3使用s3manager.downloader下载到缓冲区

如何解决《golangs3使用s3manager.downloader下载到缓冲区》经验,为你挑选了1个好方法。

我正在使用amazon s3 sdk下载文件,如下所示:

file, err := os.Create("/tmp/download_file")
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                 Region: aws.String("us-west-2")}))
numBytes, err := downloader.Download(file,
    &s3.GetObjectInput{
        Bucket: aws.String(bucketName),
        Key:    aws.String(fileName),
    })

它下载到一个文件.如何直接将下载内容导入[]字节片(缓冲区).我试过类似的东西

var tBuf bytes.Buffer
tBufIo := bufio.NewWriter(&tBuf)

而不是"文件".但是为io.WriterAt接口获取错误

file, err := os.Create("/tmp/download_file")
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                 Region: aws.String("us-west-2")}))
numBytes, err := downloader.Download(file,
    &s3.GetObjectInput{
        Bucket: aws.String(bucketName),
        Key:    aws.String(fileName),
    })

sriba.. 18

通过链接https://groups.google.com/forum/#!topic/Golang-Nuts/4z8rcWEZ8Os找到它

buff := &aws.WriteAtBuffer{}
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                      Region: aws.String(S3_Region)}))
numBytes, err := downloader.Download(buff,....
data := buff.Bytes() // now data is my []byte array

适用并满足需求.



1> sriba..:

通过链接https://groups.google.com/forum/#!topic/Golang-Nuts/4z8rcWEZ8Os找到它

buff := &aws.WriteAtBuffer{}
downloader := s3manager.NewDownloader(session.New(&aws.Config{
                                      Region: aws.String(S3_Region)}))
numBytes, err := downloader.Download(buff,....
data := buff.Bytes() // now data is my []byte array

适用并满足需求.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有