标签: dotnetzip

解压缩密码保护的文件

如何使用dotnetzip或sharpziplib解压缩受密码保护的文件(如果密码未知).

c# asp.net dotnetzip

4
推荐指数
2
解决办法
1万
查看次数

删除应用程序的DLL依赖项

在我的应用程序中,我需要Zip和解压缩一些文件.为此,我使用了DotNet Zip Library(Ionic.Zip.dll-- DotNet Zip Lib)

一切正常但是当我拿出我的文件的EXE并尝试从不同的文件夹运行它时,它无法运行.我必须将Ionic.Zip.dll保存在我的应用程序所在的文件夹中.有什么出路吗?我只想要一个没有附加任何字符串的EXE文件....或者除了DotNet Zip Lib之外还有其他任何选项.

c# dependencies dotnetzip

4
推荐指数
1
解决办法
2495
查看次数

使用DotNetZip从zip中提取特定文件夹

我一直在搜索示例,但似乎找不到涉及提取某个文件夹的DotNetZip场景.我正在尝试从.zip文件中提取一个名为"CSS"的文件夹,它是.zip文件中的顶级文件夹.这是我到目前为止的代码:

using (ZipFile zip1 = ZipFile.Read(savedFileName))
{
    var selection = from e in zip1.Entries
                    where System.IO.Path.GetFileName(e.FileName).StartsWith("CSS/")
                    select e;

    foreach (var e in selection)
    e.Extract(_contentFolder);                
}
Run Code Online (Sandbox Code Playgroud)

当前的选择什么都没有,我可以使用一些帮助重写它,以便它提取css文件夹及其所有子目录和文件.

c# linq dotnetzip

4
推荐指数
1
解决办法
7098
查看次数

DotNetZip:将文件添加到动态创建的存档目录

我无法想象这很难做到,但我无法让它发挥作用.我有一个文件类,只存储我想要压缩的文件的位置,目录和名称.我正在压缩的文件存在于磁盘上,因此FileLocation是完整路径.ZipFileDirectory在磁盘上不存在.如果我的文件列表中有两个项目,

{ FileLocation = "path/file1.doc", ZipFileDirectory = @"\", FileName = "CustomName1.doc" },

{ FileLocation = "path/file2.doc", ZipFileDirectory = @"\NewDirectory", FileName = "CustomName2.doc" }
Run Code Online (Sandbox Code Playgroud)

我希望在根目录中看到MyCustomName1.doc,以及包含MyCustomName2.doc的名为NewDirectory的文件夹,但是发生的情况是它们都使用以下代码在根目录中结束:

using (var zip = new Ionic.Zip.ZipFile())
{
    foreach (var file in files)
    {
        zip.AddFile(file.FileLocation, file.ZipFileDirectory).FileName = file.FileName;
    }

    zip.Save(HttpContext.Current.Response.OutputStream);
}
Run Code Online (Sandbox Code Playgroud)

如果我用这个:

zip.AddFiles(files.Select(o => o.FileLocation), false, "NewDirectory");
Run Code Online (Sandbox Code Playgroud)

然后它创建新目录并按预期将所有文件放入其中,但随后我无法使用此方法使用自定义命名,并且它还引入了第一种方法可以完美处理的更复杂的问题.

有没有办法让第一种方法(AddFile())按预期工作?

c# dotnetzip

4
推荐指数
1
解决办法
4812
查看次数

将文件添加到现有Zip中

我可以成功地将zip文件夹中的文件解压缩到一个文件夹中,但我不太确定如何获取这些文件并将它们添加到现有的zip文件中.我将它们提取到桌面上名为"mod"的目录中,然后我需要将它们添加到另一个zip文件中.救命?这是我的提取代码 -

ZipFile zip = ZipFile.Read(myZip);
zip.ExtractAll(outputDirectory,ExtractExistingFileAction.OverwriteSilently);
Run Code Online (Sandbox Code Playgroud)

感谢帮助,谢谢.

c# dotnetzip

4
推荐指数
1
解决办法
1万
查看次数

DotNetZip编码问题

我正在使用DotNetZip.当我归档通常具有英文名称的文件时.但是当我在结果档案中存档带有俄文名称的文件时,文件名称不正确.有人说字符串

ZipConstants.DefaultCodePage = 866;
Run Code Online (Sandbox Code Playgroud)

但它没有编译.我还使用zip.UseUnicodeAsNecessary属性,并将我的文件名转换为utf8和utf7.

.net c# dotnetzip

3
推荐指数
2
解决办法
5660
查看次数

如何使用.NET删除Zip文件中的目录?

如何删除.zip中的目录及其中的所有文件(最好使用DotNetZip)?

现在我正在浏览zip中的所有文件,但它不起作用:

foreach (ZipEntry e in zip)
{
    //If the file is in the directory I want to delete
    if(e.FileName.Substring(0, 9) == "FolderName/")
    {
        zip.RemoveEntry(e.FileName);                          
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法,如果没有,我将如何使这项工作?

c# dotnetzip

3
推荐指数
2
解决办法
8226
查看次数

如何查找离子zip文件的未压缩大小

我有一个使用Ionic zip压缩的zip文件.在解压缩之前,我需要验证可用的磁盘空间.但是如何在手前找到未压缩的尺寸?zip文件中是否有任何标题信息(通过离子)以便我可以阅读它?

compression size dotnetzip

3
推荐指数
1
解决办法
3195
查看次数

覆盖 zip 文件中的条目

我遇到了麻烦,我得到了这个代码:

DirectoryInfo di = new DirectoryInfo(dir);
FileInfo[] rgFiles = di.GetFiles();
DirectoryInfo[] d = di.GetDirectories();
if(rgFiles != null && d != null) {
foreach (FileInfo fi in rgFiles)
{
    foreach (DirectoryInfo dii in d)
    {
        using (ZipFile zip = ZipFile.Read(locateZipFile()))
        {

            zip.AddFile(fi.FullName, "");

            zip.AddDirectory(dii.FullName,dii.Name);
            toolStripStatusLabel1.Text = "Inserting " + fi.Name;
            toolStripStatusLabel1.Text = "Inserting " + dii.Name + " and all of it's contents";

            MessageBox.Show("Inserted the file " + fi.Name);
            MessageBox.Show("Inserted the folder " + dii.Name + " and all contents in …
Run Code Online (Sandbox Code Playgroud)

c# overwrite dotnetzip

3
推荐指数
1
解决办法
6163
查看次数

内存流对象未保存到DotNetZip

我正在尝试创建一个将流式传输给用户的DotNetZip zip文件.在zip文件中,我插入了两个内存流.但由于某种原因,当我打开zip文件时,它是空的.我查看了文档,发现几乎没有任何帮助.我的代码:

public async Task<FileResult> DownloadFile(string fileName){

//Create image memory stream
        System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("~/Images/" + fileName));
        MemoryStream msImage = new MemoryStream();
        image.Save(msImage, image.RawFormat);

//Create Word document using DocX
        MemoryStream msDoc = new MemoryStream();
        DocX doc = DocX.Create(msDoc);
        Paragraph p1 = doc.InsertParagraph();
        p1.AppendLine("Text information...");
        Paragraph p2 = doc.InsertParagraph();
        p2.AppendLine("DISCLAIMER: ...");
        doc.SaveAs(msDoc);

//Create Zip File and stream it to the user
        MemoryStream msZip = new MemoryStream();
        ZipFile zip = new ZipFile();
        msImage.Seek(0, SeekOrigin.Begin);
        msDoc.Seek(0, SeekOrigin.Begin);
        ZipEntry imageEntry = zip.AddEntry("MyImageName.jpg", msImage);
        ZipEntry …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc dotnetzip

3
推荐指数
1
解决办法
2621
查看次数

标签 统计

dotnetzip ×10

c# ×9

.net ×1

asp.net ×1

asp.net-mvc ×1

compression ×1

dependencies ×1

linq ×1

overwrite ×1

size ×1