dsavz66262
2017-09-03 01:18
浏览 282
已采纳

在go中实现io.WriterAt的缓冲区

I'm using the aws-sdk to download a file from an s3 bucket. The S3 download function want's something that implements io.WriterAt however bytes.Buffer doesn't implement that. Right now I'm creating a file which implements io.WriterAt but I'd like something in memory.

图片转代码服务由CSDN问答提供 功能建议

我正在使用aws-sdk从s3存储桶下载文件。 S3下载功能需要实现io.WriterAt的东西,但是bytes.Buffer不能实现。 现在,我正在创建一个实现io.WriterAt的文件,但我想在内存中添加一些东西。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dongpochi9741 2018-01-14 22:55
    已采纳

    For cases involving the AWS SDK, use aws.WriteAtBuffer to download S3 objects into memory.

    requestInput := s3.GetObjectInput{
        Bucket: aws.String(bucket),
        Key:    aws.String(key),
    }
    
    buf := aws.NewWriteAtBuffer([]byte{})
    downloader.Download(buf, &requestInput)
    
    fmt.Printf("Downloaded %v bytes", len(buf.Bytes()))
    
    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题