- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题是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.ReadCloser
到 io.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/
有人可以解释(或/和分享示例)何时以及为什么应该明确关闭读者,即实现 io.ReadCloser,而不仅仅是 io.Reader。 最佳答案 例如,当您使用文件或任何应关闭以释放分配的资源(或内存,例
我正在创建一个缓冲区,然后通过zip.NewWriter()写入该缓冲区 所以我的代码看起来像这样 // Create a buffer to write our archive to. buf :=
我总是被 io.ReadCloser 困住,然后忘记我以前读过它,当我再次阅读它时,我得到一个空的负载。我希望对我的愚蠢进行一些 lint 检查。尽管如此,我认为我可以使用 TeeReader,但它在
我从 http 服务获取数据,我想即时解压它。这是我目前的方法: resp, err := http.Get(url) if err != nil { logger.Fatalf("Can't
我有一个很大的 io.ReadCloser,它是从我的 HTTP 处理函数中的 http.Request 获得的。我需要将请求代理到另一台服务器,但首先我想在正文中找到与 Title: (\w+) 之
我有一个非常简单的 Go 网络服务器。它的工作是接收入站 json 有效负载。然后它将有效负载发布到一个或多个需要字节数组的服务。无需检查有效负载。刚发过来。 在这种情况下,它会接收入站作业并将其发送
我有一个 http 请求,我需要检查它的正文。但是当我这样做时,请求失败了。我假设这与需要重置的阅读器有关,但沿着 go ioutil reset ReadCloser 的行谷歌搜索没有发现任何看起来
我需要找到一种方法来从 io.ReadCloser 对象中读取一行,或者找到一种在“结束行”符号上拆分字节数组的方法。但是我不知道结束线符号,我找不到它。 我的应用程序执行一个 php 脚本,需要从脚
给定一个 io.ReadCloser,例如从 HTTP 请求的响应中,在内存开销和代码可读性方面将响应流式传输到文件的最有效方法是什么? 最佳答案 io.Copy在代码方面无疑是最高效的;你只需要 o
在 response.go 源代码的定义中,定义了 io.ReadCloser 类型的 Body但是在通过以下代码打印 Body 的类型时,它会打印 *http.http2gzipReader .他们
目标 我想将数据从阅读器发送到我的服务器。 (在示例中是 NopCloser,稍后它将是 exec.Command 的 Stdout) 问题 请求永远不会结束。即使我手动关闭 cmdOut,程序也永远
这个问题在这里已经有了答案: Golang io/ioutil NopCloser (3 个答案) 关闭 4 年前。 我有一个不需要关闭的 io.Reader: stringReader := st
我有一个客户端发出下载文件的请求,Web 服务器将此请求转发到实际保存该文件的资源服务器。从资源服务器返回的 *http.Response 有 Body io.ReaderCloser 从资源服务器流
我正在尝试从 S3 下载文件并将该文件上传到 S3 中的另一个存储桶。 Copy API 在这里不起作用,因为我被告知不要使用它。 从 S3 获取对象有一个 response.Body,它是一个 io
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Imp
我似乎无法解决这个奇怪的错误。这是我的代码: resp, err := http.Get("example.com/my/text/file.conf") ... err = parseEvent(e
我是一名优秀的程序员,十分优秀!