gpt4 book ai didi

go - 在 Go 中将 io.ReadCloser 转换为 io.Reader

转载 作者:行者123 更新时间:2023-12-01 22:43:16 25 4
gpt4 key购买 nike

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我正在使用 archive/zip库,我需要在将其上传到 s3 之前动态修改 zip 存档中的文件。目前我正在取回 io.ReadCloser但是我用来修改用户的功能需要 io.Reader :

//Function Signature:
Convert(r io.Reader, w io.Writer, ...)

我还需要一个 io.Writer ...如果您能帮助我确定如何创建作家,则可以加分。以下是一些示例代码,可能会提供一些上下文:
for _, f := range r.File {
if filepath.Ext(f.Name) != ".txt" {

_, filename := path.Split(f.Name)
var rc io.ReadCloser
if rc, err = f.Open(); err == nil {

// FIXME: Convert
if err = Convert(rc.Reader, *zip.Writer.Create(f.Name), ...); err != nil {
errStr := fmt.Sprintf("Unable to convert")
log.Println(errStr)

} else {

log.Println("Success!")

}

// Upload to s3
.....
}
}
}

最佳答案

  • 转换 io.ReadCloserio.Reader你做:
    没有!
    一个 io.ReadCloser已经是 io.Reader由于 io.Reader 的所有方法Read(p []byte) (n int, err error) 也提供接口(interface)(特别是 io.ReadCloser 方法) .
  • 转换 io.Reader进入 io.Writer是完全不同的事情。你不能以任何一般的方式真正做到这一点。您需要详细说明您要执行的操作。
  • 关于go - 在 Go 中将 io.ReadCloser 转换为 io.Reader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61661484/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com