jjzjj

go - 如何解压单个文件?

我找到了很多关于如何从.zip中提取所有文件的示例,但我不知道如何在不遍历.zip文件中的所有文件的情况下提取单个文件.在Go中是否可以从.zip存档中提取单个文件而不遍历.zip文件中的所有文件?例如,如果一个zip文件包含:folder1/file1.txtfolder1/file2.txtfolder1/file3.txtfolder2/file1.txt我如何只提取folder2/file1.txt? 最佳答案 zip.Reader为您提供存档的内容,文件作为slice(属于zip.File)。没有通过名称获取文件的辅助方法

go - 如何根据字节大小比较文本的原始版本和 gzip 版本

我有一段代码,它被压缩成一个字符串,然后将压缩后的版本读回原来的版本。如何测量压缩级别?即计算字符串前后的字节数?sentence:="Alongtimeagoinagalaxyfar,faraway..."varbufbytes.Bufferzw:=gzip.NewWriter(&buf)//SettingtheHeaderfieldsisoptional.zw.Name="a-new-hope.txt"zw.Comment="anepicspaceoperabyGeorgeLucas"zw.ModTime=time.Date(1977,time.May,25,0,0,0,0,tim

go - 在 http 中提供 zip 文件中的内容

我正在查看github.com/remyoudompheng/go-misc/zipfs以提供来自http中的zip文件的内容。这个最小的例子有效,我可以获得包含在files/archives.zip中的{FILE}:http://localhost:8080/zip/{FILE}packagemainimport("archive/zip""github.com/remyoudompheng/go-misc/zipfs""log""net/http")funcmain(){z,err:=zip.OpenReader("files/archive.zip")iferr!=nil{log

戈朗 : Zip Package Modified Time Defaults to 30 November 1979, 00:00

如何将zip文件的修改时间更改为time.Now()?当我创建一个zip文件时,我得到的修改时间是1979年11月30日00:00。那么有没有简单的方法可以将修改时间设置为现在呢? 最佳答案 我发现这个函数可以满足我的需求:funcFileInfoHeader(fios.FileInfo)(*FileHeader,error)。这将获取一个输入数据文件并创建一个部分填充的FileHeader。 关于戈朗:ZipPackageModifiedTimeDefaultsto30November

xml - 从 zip 中解码特定的 XML 文件而不提取

我有一个zip文件,里面有几个xml文件,使用zip和encoding/xml来自Go存档的包。我想做的是将onlya.xml解码为一个类型-即不遍历里面的所有文件:test.zip├a.xml├b.xml└...a.xml的结构如下:0001SomeTestApp0002AnotherTestApp如何选择和解码其名称在注释掉的行中作为参数提供的文件,例如:packagemarshalutilsimport("archive/zip""log""fmt""encoding/xml")typeApplicationRootstruct{XMLNamexml.Name`xml:"root

go - 使用 golang 压缩一个文件文件夹会创建一个损坏的 zip

如何将文件正确压缩到包含子目录的文件夹中。我有一个具有以下结构的本地文件夹:folder/hello/folder/hello/world/folder/hello/world/helloword.txtfolder/index.txt这是我的代码:packagemainimport("archive/zip""fmt""io""os""path/filepath")funcmain(){files,err:=listFiles("./folder")iferr!=nil{panic(err)}zipMe(files,"test.zip")for_,f:=rangefiles{fmt.

go - 使用golang解压密码zip

我正在尝试用golang解压缩一个zip文件(使用密码)。r,err:=zip.OpenReader("./path/to/the.zip")iferr!=nil{log.Fatal(err)}deferr.Close()for_,f:=ranger.File{iff.IsEncrypted(){f.SetPassword("$83?Lu{5nKbXxncjdH/_B)+}C`")}r,err:=f.Open()iferr!=nil{log.Fatal(err)}buf,err:=ioutil.ReadAll(r)iferr!=nil{log.Fatal(err)}deferr.Clo

go - 如何在 Go 中没有目录文件夹的情况下将文件压缩为 .zip

有关于在Go中将文件压缩为.zip的示例。但是,它们生成的文件包括目录文件夹。当我解压.zip文件时,会有一个新文件夹。那么,如何在不包含目录文件夹的情况下将文件压缩为.zip?一个例子:https://golangcode.com/create-zip-files-in-go/packagemainimport("archive/zip""fmt""io""os")funcmain(){//ListofFilestoZipfiles:=[]string{"example.csv","data.csv"}output:="done.zip"iferr:=ZipFiles(output,

amazon-web-services - 尝试调用 Go AWS Lambda 函数时权限被拒绝

我创建了一个AWSLambda函数,我正在使用Webhook调用APIGateway以下是我使用gobuild-omain.go构建的代码,因为我一直在阅读您必须指定扩展名。packagemainimport("context""fmt""github.com/aws/aws-lambda-go/lambda")funcHandleRequest(ctxcontext.Context)(string,error){returnfmt.Sprintf("Hello!"),nil}funcmain(){lambda.Start(HandleRequest)}问题是即使我有publicper

http - 由于来自服务器的 mime 不正确,无法使用 Go 打开 Zip

我有一个向服务器发送zip文件的应用程序。然后对zip进行操作,并在响应中发回一个新的zip。问题是发回的响应有application/octet-stream而不是application/zip消息的mime。我认为这就是为什么archive/zip无法打开生成的zip并且我得到一个zip:notavalidzipfile的原因。在检索zip文件时,我有什么办法可以更改mime吗?我获取zip的代码:funcGetZipFromServer(zipnamestring){//////////////////////////////////////////////////////Ope