Jak vytvořit ZIP soubor v aplikaci .NET
S knihovnou Aspose.ZIP for .NET můžete v C# vytvořit ZIP archiv bez spouštění 7-Zipu, WinRARu nebo jiného externího nástroje. Vytvořte instanci Archive, přidejte zdrojové soubory pod zvolenými názvy a metodou Save uložte hotový archiv do souboru nebo streamu.
Tato stránka se věnuje vytvoření ZIP archivu a sestavení jeho obsahu. Komprese je součástí této operace, jejím hlavním výsledkem je však uspořádaný archiv s jedním souborem, více soubory nebo celou adresářovou strukturou.
Příklad v C#: archiv s více soubory
Následující příklad vytvoří package.zip a přidá do něj PDF a CSV. U každé položky nastaví název, pod kterým bude soubor v archivu uložen.Vytvoření package.zip se dvěma soubory
using Aspose.Zip;
using (var archive = new Archive())
{
archive.CreateEntry("report.pdf", "report.pdf");
archive.CreateEntry("data.csv", "data.csv");
archive.Save("package.zip");
}
Instalace Aspose.ZIP for .NET
Nainstalujte balíček Aspose.ZIP z NuGetu a přidejte jej do projektu .NET. Archiv se vytváří přímo v procesu aplikace; samostatný program pro práci se ZIP není potřeba.Konzole správce balíčků
PM> Install-Package Aspose.Zip
Zabalení jednoho souboru
Vytvořte Archive, zavolejte CreateEntry s názvem položky a cestou ke zdrojovému souboru a archiv uložte. Tento postup se hodí pro předání reportu, exportu nebo vygenerovaného dokumentu.
Přidání více souborů
Před uložením zavolejte CreateEntry pro každý soubor. Název položky v archivu nezávisí na zdrojové cestě, takže můžete sjednotit uspořádání souborů z různých adresářů.
Archivace celé složky
Přidejte soubory zdrojového adresáře a zachovejte bezpečné relativní cesty. Výsledná struktura bude přenositelná a archiv nebude obsahovat absolutní cesty z konkrétního počítače.
Uložení do streamu
Zapisovatelný stream využijete při vracení ZIP z ASP.NET, odesílání do cloudového úložiště nebo zpracování v paměti bez dočasného výstupního souboru.
Postup vytvoření archivu
- Nainstalujte Aspose.ZIP for .NET a přidejte knihovnu do projektu.
- Vytvořte instanci
Archivepro nový ZIP. - Přidejte jednotlivé soubory pomocí
CreateEntrynebo obsah adresáře. - Podle potřeby nastavte kompresi či šifrování.
- Uložte archiv do souboru nebo zapisovatelného streamu.
- Uvolněte archiv i streamy otevřené aplikací pomocí
Dispose.
Struktura archivu se dokončí při uložení. Nejdříve přidejte všechny plánované položky, aby centrální adresář správně popisoval obsah ZIP.
Názvy souborů a struktura složek uvnitř ZIP
**Zdrojová cesta** určuje, odkud aplikace soubor čte. **Název položky** určuje jeho jméno a umístění uvnitř archivu. Díky oddělení těchto hodnot můžete soubory přejmenovat, seskupit do složek a přitom neprozradit názvy místních adresářů.Pro vnořené položky používejte lomítka, například documents/2026/report.pdf. U názvů převzatých od uživatelů nebo externích systémů odmítejte absolutní cesty, odkazy na nadřazený adresář jako ../, prázdné názvy a nechtěné duplicity.
Ochrana archivu heslem
Aspose.ZIP podporuje tradiční ZipCrypto a AES s klíči o délce 128, 192 nebo 256 bitů. Pokud jej podporuje software příjemce, dejte přednost AES. ZipCrypto použijte pouze tehdy, když je rozhodující kompatibilita se staršími nástroji.Hesla načítejte ze zabezpečené konfigurace, neukládejte je do zdrojového kódu ani logů a předávejte je jiným kanálem než samotný archiv. API neposkytuje možnost obnovit ztracené heslo.
Volba komprese
Deflate je praktická výchozí volba pro širokou kompatibilitu. Podle dat a softwaru příjemce lze použít také BZip2, LZMA, PPMd nebo režim Store bez komprese. Store se hodí pro již komprimovaná data, pokud je rychlost zabalení důležitější než drobná úspora místa.JPEG, MP4 a řada dokumentů Office jsou již komprimované, a jejich velikost se proto nemusí výrazně snížit. ZIP je přesto užitečný pro předání v jednom souboru, uspořádání složek a ochranu obsahu.
Vytvoření archivu, komprese, rozbalení a prohlížení
| Cíl | Vhodný postup | Výsledek |
|---|---|---|
| Vytvořit nový ZIP a přidat soubory či složky | Vytvoření ZIP - tato stránka | Nový archiv s vybranými položkami |
| Zmenšit soubor nebo vytvořit jiný typ archivu | Komprese souborů v C# | Komprimovaná data nebo jiný formát archivu |
| Obnovit soubory z existujícího archivu | Rozbalení archivu | Původní soubory uložené na disk nebo do streamu |
| Zkontrolovat položky bez rozbalení | Prohlížení obsahu | Seznam názvů a dostupných metadat |
| Přidat nebo změnit ochranu archivu | Ochrana heslem | Šifrovaný archiv vyžadující správné heslo |
Přidání PDF, DOCX, PNG nebo jiného souboru do ZIP není převod formátu. Původní soubor se pouze stane položkou nového archivu.
Doporučení pro produkční provoz
- Zajistěte včasné uvolnění archivů a streamů, zejména ve službách vytvářejících velké množství balíčků. - Při vracení ZIP z endpointu ASP.NET nebo odesílání do cloudu zapisujte do streamu. - U nedůvěryhodných požadavků předem ověřte zdrojové cesty, názvy položek, počet souborů a celkovou velikost vstupu. - Pokud by neúplný výstup způsobil problém, zapisujte do dočasného umístění a cílový soubor nahraďte až po úspěšném uložení. - Existující archiv přepisujte pouze tehdy, pokud to aplikace výslovně povoluje. - Vyžaduje-li sestavení nebo podepisování reprodukovatelný výstup, sjednoťte pořadí položek, jejich názvy a časová razítka.Archivace běžných typů souborů
Vyberte návod podle souborů, které vaše aplikace běžně zpracovává. Příklady se věnují vytvoření a uspořádání archivu; zdrojový formát zůstává uvnitř ZIP beze změny.Návody podle zdrojového formátu
Přidejte do nového archivu dokumenty, obrázky, tabulky, multimédia a další soubory.
Vytvoření ZIP online
Potřebujete archiv bez psaní kódu? Použijte zdarma online nástroj pro vytvoření ZIP .
Zdroje pro Aspose.ZIP for .NET
- Přehled produktu
- Dokumentace pro vývojáře
- Referenční dokumentace
Archive - Referenční dokumentace
ArchiveEntry - Příklady v C# na GitHubu
- Balíček Aspose.ZIP na NuGet
- Vytvoření archivu z jednoho nebo více souborů
Časté dotazy
1. Jak vytvořit ZIP soubor v C#?Vytvořte Archive, přidejte zdrojový soubor pomocí CreateEntry a zavolejte Save s cestou k výstupnímu souboru nebo se streamem. První příklad na této stránce ukazuje celý postup.
2. Lze do jednoho archivu přidat více souborů?
Ano. Pro každý soubor zavolejte CreateEntry a archiv uložte až po přidání všech položek.
3. Lze zabalit celou složku?
Ano. Přidejte soubory ze složky a použijte bezpečné relativní názvy položek, které zachovají požadovanou adresářovou strukturu.
4. Lze v .NET vytvořit ZIP se šifrováním AES?
Ano. V nastavení položek zvolte AES-128, AES-192 nebo AES-256 a heslo načtěte ze zabezpečené konfigurace aplikace.
5. Je potřeba 7-Zip nebo WinRAR?
Ne. Aspose.ZIP vytvoří archiv přímo v aplikaci .NET bez spouštění externího archivačního programu.