#asp.net #vb.net #zip #compression
#asp.net #vb.net #zip #сжатие
Вопрос:
Я хочу сгенерировать zip-файл, который содержит некоторые файлы и папки. Файл внутри папки может содержаться по каким-то другим путям, и я хочу поместить файлы в другую папку и сгенерировать из них zip-файл .
Другими словами, я не хочу физически генерировать папку с файлами. Файлы могут находиться в некоторых корневых файлах, и я хочу виртуально сгенерировать папку, чтобы поместить их в zip-файл.
Imports System.IO.Compression
ZipFile.CreateFromDirectory("source","destination.zip",CompressionLevel.Optimal,False)
В качестве примера, если у меня есть эти файлы на моем веб-сайте:
- ~/files/image/1.jpg
- ~/files/pdf/2.pdf
- ~/intro.docx
Я хочу поместить их в zip-файл, который, когда я его распакую, будет выглядеть следующим образом:
- ~/files/1.jpg
- ~/files/2.pdf
- ~/intro.docx
Комментарии:
1. Поскольку вы хотите удалить некоторые части пути для некоторых файлов, вам следует объяснить, какая логика управляет удалением таких частей. В любом случае, вы больше не можете использовать
CreateFromDirectory
метод. Вам придется создать свой собственный список измененных путей.
Ответ №1:
В качестве исходного кода укажите корневую папку, и она сделает это, пример : Это твое
- ~/files/image/1.jpg
- ~/files/pdf/2.pdf
- ~/intro.docx
Но перед этим есть корневая папка, ~
которая просто помещается в качестве источника
Комментарии:
1. Как добавить файлы в srouse?
2. Источником является папка, а не файлы. вы можете выполнить сжатие 1 файла или 1 папки, вы не можете создать 3 файла. Единственная мысль, которая приходит мне в голову сейчас, когда вы программно создаете папку и копируете файлы в нее, затем сжимаете ее, затем удаляете папку