我想通过awsgolangsdk将文件上传到我的s3存储桶。我有一个监听POST请求的网络服务器,我希望接收任何类型的多个文件。使用sdk,s3结构PutObjectInput期望Body为io.ReadSeeker类型,我不确定如何提取上传文件的内容,进而满足io.ReadSeeker接口(interface)。images:=r.MultipartForm.Filefor_,files:=rangeimages{for_,f:=rangefiles{#Inmyhandler,Icanloopoverthefiles#andseethecontentfmt.Println(f.Hea
我写了一个下载图片的服务,通过zip存档加入它,然后将它上传回aws。这项服务应该是省时的。我的第一个version非常简单:并行下载所有文件并保存到磁盘。从磁盘中读取所有文件,通过压缩包加入并存回磁盘从磁盘读取存档并将其发送到s3。但我认为所有这些保存和读取磁盘操作的性能都低于内存通信。我joined一起下载和归档(所有下载阅读器直接进入归档器)。但是我不明白如何与上传者一起加入。S3uploader需要一个ReadSeeker来放置对象。归档器的当前实现是:funcArchive(inputQueue它将存档保存到磁盘。如何将archihve写入中间结构以将此结构传递给requir
我有一个名为“DoSomething”的方法。DoSomething将二进制源数据对其进行操作,并写出二进制数据。DoSomething需要足够通用以处理源和目标的[]byte数组或文件句柄。为此,我试图声明这样的方法:funcDoSomething(源*io.ReadSeeker,目标*io.WriteSeeker)我已经实现了ReadSeeker和WriteSeeker来处理缓冲区,使用我自己的自定义、必需的方法(如果有一种方法可以自动完成这个,我也很想听听)。不幸的是,我似乎无法弄清楚如何从文件句柄创建io.ReadSeeker或io.WriteSeeker。我相当确定必须有一些
我正在尝试从S3下载文件并将该文件上传到S3中的另一个存储桶。CopyAPI在这里不起作用,因为我被告知不要使用它。从S3获取对象有一个response.Body,它是一个io.ReadCloser并且要上传该文件,有效负载需要一个Body那是一个io.ReadSeeker。我能解决这个问题的唯一方法是将response.Body保存到一个文件中,然后将该文件作为io.ReadSeeker传递。这需要先将整个文件写入磁盘,然后再从磁盘读取整个文件,这听起来很错误。我想做的是:resp,_:=conn.GetObject(&s3.GetObjectInput{Key:"bla"})con
我正在尝试从S3下载文件并将该文件上传到S3中的另一个存储桶。CopyAPI在这里不起作用,因为我被告知不要使用它。从S3获取对象有一个response.Body,它是一个io.ReadCloser并且要上传该文件,有效负载需要一个Body那是一个io.ReadSeeker。我能解决这个问题的唯一方法是将response.Body保存到一个文件中,然后将该文件作为io.ReadSeeker传递。这需要先将整个文件写入磁盘,然后再从磁盘读取整个文件,这听起来很错误。我想做的是:resp,_:=conn.GetObject(&s3.GetObjectInput{Key:"bla"})con