] फ़ोल्डर, जबकि वांछित परिणाम रूट फ़ोल्डर के बिना फ़ाइलों को निकालना है।
निम्न कोड निर्देशिका संरचना को ज़िप करने का एक प्रयास है: फंक ज़िपिट (स्रोत, लक्ष्य स्ट्रिंग) त्रुटि { zipfile, irr: = os.create (लक्ष्य) ... Hearder.name = filePath.join (basedir, strings.trimprefix (पथ, स्रोत)) ... … निकाले गए संरचना से रूट फ़ोल्डर को बाहर करने के लिए, FileName से आधारित को हटा दें।
Name = filePath.join (basedir, strings.trimprefix (पथ, स्रोत))
के साथ:हैडर.name = strings.trimprefix (पथ, स्रोत)
func Zipit(source, target string) error { zipfile, err := os.Create(target) ... header.Name = filepath.Join(baseDir, strings.TrimPrefix(path, source)) ... }
वैकल्पिक दृष्टिकोण:
हेडर नाम को मैन्युअल रूप से संशोधित करने के बजाय, आप रूट फ़ोल्डर को बाहर करने के लिए निम्नलिखित वैकल्पिक दृष्टिकोण का भी उपयोग कर सकते हैं निष्कर्षण:वॉकर: = filepath.walk (स्रोत, func (पथ स्ट्रिंग, जानकारी os.fileinfo, गलत त्रुटि) त्रुटि { // रूट निर्देशिका को अनदेखा करें यदि info.isdir () && path == स्रोत { FilePath.skipdir लौटें } ... })
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3