【发布时间】:2017-04-17 20:35:57
【问题描述】:
我是 Golang 的新手,所以也许这很明显,但我没有找到任何适用于 Stackoverflow 或 Gzip 文档的内容。
我通过 Http 下载一个 .gz 并将响应正文的内容写入一个文件。但是,当我尝试从文件中读取它并解压缩它时,我得到了“invalid header”错误。
这是我的代码:
reader, err := os.Open(completeName)
if err != nil {
panic(err)
}
defer reader.Close()
archive, err := gzip.NewReader(reader)
if err != nil {
panic(err)
}
defer archive.Close()
target := destDirectory()
writer, err := os.Create(target + completeName)
if err != nil {
panic(err)
}
defer writer.Close()
_, err = io.Copy(writer, archive)
return err
虽然我收到的内容是无效的,但我尝试通过“tar -xjf file.gz”解压缩它,它运行良好。
有什么想法吗?
【问题讨论】:
-
如果 tar 和
-j有效,它是一个 bzip 文件,而不是 gzip。