golang读取网络字节并解压zip
  TEZNKK3IfmPf 2023年11月13日 27 0

前言

有些情况我们是不需要写入磁盘,处理完直接释放。

代码

​依赖文件​

"archive/zip"
"bufio"
"bytes"
"fmt"
"io"
"io/ioutil"
"net/http"
"os"

resp, _ := http.Get(url)

data, err := ioutil.ReadAll(resp.Body)
zipReader, _ := zip.NewReader(bytes.NewReader(data), int64(len(data)))

if err != nil {
return err
}

for _, f := range zipReader.File {
s := f.Name
fmt.Println(s)
}

完整代码

golang读取网络字节并解压zip

在内存中处理

zipReader, err := zip.NewReader(bytes.NewReader(data), int64(len(data)))
if err != nil {
logrus.Error(err)
return false, err
}

for _, f := range zipReader.File {
filename := f.Name
inFile, err := f.Open() //这个是从压缩文件读取出来的
if err != nil {
logrus.Error(err)
return false, err
}
defer inFile.Close()
b, _ := ioutil.ReadAll(inFile)
s := string(b)
fmt.Println(s)
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 使用容器 下一篇: SpringBoot 允许跨域
  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月17日   47   0   0 golanghttps
  TEZNKK3IfmPf   2023年11月15日   37   0   0 golang
  TEZNKK3IfmPf   2024年05月31日   24   0   0 后端golang开发语言
  TEZNKK3IfmPf   2023年11月15日   35   0   0 golang
  TEZNKK3IfmPf   2024年05月17日   56   0   0 算法javagolang
  TEZNKK3IfmPf   2024年04月26日   67   0   0 hadoopHive
  TEZNKK3IfmPf   2024年04月19日   42   0   0 zip