首頁 > 後端開發 > Golang > 如何壓縮不包括根資料夾的目錄內容?

如何壓縮不包括根資料夾的目錄內容?

Linda Hamilton
發布: 2024-11-18 22:17:02
原創
349 人瀏覽過

How to Zip Directory Contents Excluding the Root Folder?

如何壓縮不包含根資料夾的目錄內容

問題:

問題:
dir1
  file1.html
  file2.go
登入後複製
登入後複製

您有一個目錄結構如下:
dir1
  file1.html
  file2.go
登入後複製
登入後複製

當你將其壓縮到dir1.zip 並解壓縮時,你會得到相同的結構:

但是,你想將內容壓縮到"解壓縮後的結果是“dir1”,而沒有根資料夾“dir1”。

答案:
if baseDir != "" {
    header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source))
}
登入後複製

要實現此目的,請修改Zipit 函數中修改Zipit 函數中的程式碼。排除根資料夾,只需刪除已新增的基本目錄:
header.Name = strings.TrimPrefix(path, source)
登入後複製

此程式碼從路徑中刪除前綴並將其指派給標頭名稱,而不包含基本目錄。

範例:

如果您如下呼叫函數:

Zipit("dir1/", "dir1.zip")
登入後複製
修改程式碼後,您擷取的內容將會是:

file1.html
file2.go
登入後複製
沒有「dir1」根資料夾。不是檔案的實際內容。

以上是如何壓縮不包括根資料夾的目錄內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板