使用ASP.NET,我怎样才能从一个字符串数组中创建一个压缩文件?
我正在使用ASP.NET,我更喜欢VB作为语言,但是我应该能够为我的需要翻译C#. 我有一系列字符串,我想将其作为单个文件发送到浏览器以供用户保存.在搜索Internet时,将多个文件发送到浏览器的最常见解决方案是将它们汇总到浏览器中,并发送一个zip文件. 为此,我需要学习一些我不知道的东西; 1)我可以使用哪些工具/方法(最好是在IIS7上运行的ASP.NET内置)来创建ZIP FILESTREAM发送到浏览器? 2)我如何欺骗邮政编码,以为它从内存中的字符串中获取多个文件?我假设我需要创建文件流,但是我该如何分辨方法是什么是文件名,等等? 如果有一个类似于我需要的事情的示例,那将是很棒的.只是指我. 感谢您的帮助. 解决方案 该方法可能是: 将字符串转换为流 将来自该流的数据添加到zip文件 将zip文件写入响应流 代码示例下面: ZipFile zipFile = new ZipFile(); int fileNu
124 2024-04-26
编程技术问答社区
使用zipstorer类压缩一个有子文件夹的文件夹
我正在使用 zipstorer 类库来压缩文件.我能够通过调用zip.AddFile过程来缩减文件.但是我想扎带,其中也有子文件夹.因此,由此产生的zip文件应正常内部的zip文件内有文件夹和子文件夹结构.我无法做到.如果我通过循环所有文件夹和子文件夹来处理每个文件,则如果调用zip.Addfile,则将导致zip文件,其中所有文件中的所有文件都没有目录结构. 因此,如何使用zipstorer类链度将文件夹缩回.我必须做什么变化? 解决方案 您可以使用(Back)斜杠作为_filenameInZip(SIC)参数来在zip中的目录中添加文件: zip.Addfile(,,"directory/filename.txt",); 或 zip.Addfile(,,"directory\\filename.txt",);
16 2024-04-26
编程技术问答社区
如何创建自解压的exe C# .net 4.0
我想制作单个EXE文件,以提取一个内部有很多内容的文件夹. 我希望此EXE使用.NET 4.0 在计算机上工作 我试图用文件夹解压缩嵌入式zip档案,但是使用.NET 4.0 并不简单 解决方案 您应该能够通过在C#安装程序项目中添加.zip文件并将其构建操作设置为"嵌入式资源"来做到这一点.然后,您的C#安装程序程序将使用 assembly.getManifestResourceStream ,将流的内容写入磁盘.
12 2024-04-26
编程技术问答社区
C#将参数传入另一方法中
我试图定义用于绘制图形的辅助类,我被告知使用zip方法将数组x和y的每个元素传递到另一种方法中,但是它不能很好地工作,可以任何专家指出我做错了什么?使用Google我找不到任何类似情况. 还是我太想象力了,这种方式根本无法解决? 我已经看到使用zip方法计算一对x,y点的示例,但不作为参数传递. 情况:我的程序具有2个函数和1个代表,第一个称为plotXyAppend的函数用于调用委托plotxydelegate,然后在方法点中通过.是出于线程安全原因. ,但我遇到的问题是代表或plotXyappend一次只需一对点,所以我想出了一种方法,它是创建一个称为plotXypass的函数,以将xy点传递到plotxyappend中为了使它起作用,但我认为有一些我无法解决的问题,intelisense告诉我他们不喜欢我在此功能中投入的参数. 我非常感谢任何帮助. using System; using System.Collections.Generic; usin
16 2024-04-26
编程技术问答社区
我需要一个用于zipx的C#库
我需要将应用程序扩展到UNZIP .ZIPX文件.这似乎是Winzip的最新和最出色的拉链压缩. 有人知道会这样做的库吗? 谢谢 解决方案 我建议的一件事是在这里查看. 看来他们向开发人员开放. http://www.winzip.com/comp_info.htm 其他解决方案 根据 wikipedia wikipedia 使用压缩方法的拉链档案的扩展比标准. 至于能够处理较新的压缩算法的库,您可能会在 sharpziplib 至少实现BZIP2压缩.还有 dotnetzip ,但似乎有点低一些. 其他解决方案 正如约翰内斯·罗塞尔(Johannes Rossel并具有可用的源代码.该图书馆也用于各种项目,似乎具有不错的支持.唯一的负面方面是,我认为他们目前不支持Winzip的新Zipx格式.实际上,除了Winzip以外,我还没有找到当前支持这种新格式的其他应用程序或库.如果您需要一个新格式的库,则可能是Winzip支持部门的第一个开始
6 2024-04-26
编程技术问答社区
使用C#在SFTP中提取ZIP文件
我在sftp(winscp)位置中有一个zip文件. 是否可以使用ACP.NET Core在同一SFTP位置提取ZIP文件?任何帮助将不胜感激 解决方案 您无法使用SFTP协议在远程服务器上解解.那是不可能的.无论您使用哪种语言或库. 您也不能使用客户端库来解压缩非本地文件.您必须下载存档(至少在内存中),提取并上传提取的文件.那可能不是您想要的. 最好(如果您有shell访问权限)是在远程服务器上执行(使用SSH)任何可用命令 以实地进行提取. 有关如何使用c#中的ssh.net库通过ssh执行shell命令的示例,请参见: c#发送一个简单的SSH命令. 有关FTP的相关问题:我们可以使用c# 在FTP服务器中解开FTP服务器 (基本上是相同的答案 - 尽管使用SFTP,但您更有可能获得外壳访问,而不是使用FTP)
10 2024-04-26
编程技术问答社区
如何从ZipArchiveEntry EPPlus中获取xls文件?
我试图从ziparchive获取XLS文件,但无法使用epplus 获得它 foreach (ZipArchiveEntry entry in archive.Entries) { if (entry != null) { string filepath = entry.FullName; FileInfo fileInfo = new FileInfo(filepath); //here i got the excel package with the xls file inside the excelPackage
12 2024-04-26
编程技术问答社区
如何压缩选定的文件? 不是在c#中的目录中的所有文件
我想在目录中删除一些文件.我已经谷歌搜索了很多,但我总是看到有关以下代码z缩z缩放目录(目录中的所有文件)的示例: string startPath = @subPath; string zipPath = @"C:\result.zip"; ZipFile.CreateFromDirectory(startPath, zipPath); 我正在引用System.IO.Compression.Filesystem.dll 此代码将StartPath引用的目录中的所有文件汇总. 我尝试了ziparchive类以压缩,但它在路径上使用目录压缩文件.例如, 假设我想在" C:\ Directories \ Graphics \ a.txt"上zip" a.txt". zip文件包含目录"目录"和"图形",并在这些目录中包含文件" a.txt".这不是剪切文件然后删除目录并再次粘贴的好解决方案,因为我正在研究大尺寸数据. 我只能在目录中仅删除某些文件? 如何
6 2024-04-26
编程技术问答社区
如何设置picturebox图像位置?
我想从zip文件中设置图片框,而无需提取zip. 我的代码: ZipFile zip = new ZipFile("data.zip"); using (Stream s = zip["p3.png"].OpenReader()) { picturebox.ImageLocation = s.ToString(); } 图片框显示错误图像. 解决方案 我应该使用位图.正确的代码: ZipFile zip = new ZipFile("data.zip"); using (Stream s = zip["p3.png"].OpenReader()) { Bitmap bitmap= new Bitmap(s); PictureBox picturebox.Image = bitmap; }
14 2024-04-26
编程技术问答社区
在word文档中编辑自定义的XML部分有时会破坏文档
我们有一个系统,该系统将一些自定义的模板数据存储在Word文档中.有时,更新此数据会导致Word抱怨文档已损坏.发生这种情况时,如果我解压缩DOCX文件并将内容与上一个版本进行比较,则唯一的区别似乎是customXML\item.xml文件中的预期更改.如果我使用7ZIP重新拉链内容,似乎可以正常工作(单词不再抱怨文档已损坏). (简化)代码: void CreateOrReplaceCustomXml(string filename, MyCustomData data) { using (var doc = WordProcessingDocument.Open(filename, true)) { var part = GetCustomXmlParts(doc).SingleOrDefault(); if (part == null) { part = doc.MainDocume
18 2024-04-26
编程技术问答社区
如何使用SharpCompress'BZip2Stream来压缩一个字符串?
我试图使用SharpCompress'BZIP2Stream压缩字符串(str),但无法实现.以下是我到目前为止的代码, public static string Compress(string str) { var data = Encoding.UTF8.GetBytes(str); using (MemoryStream stream = new MemoryStream()) { using (BZip2Stream zip = new BZip2Stream(stream, SharpCompress.Compressor.CompressionMode.Compress)) { zip.Write(data, 0, data.Length); var compressed = Encoding.UTF8.GetString(stream.ToArray());
8 2024-04-26
编程技术问答社区
以小块的形式将压缩文件上传到azure云blob存储中
我想将zip文件以小块(小于5 mb)的形式上传到Microsoft Azure存储中的BLOB容器.我已经在blobrequestoptions中配置了4 MB块限制,但是当我运行代码并检查Azure Cloud中的内存使用情况时,它不会在块中上传.我正在使用c#.net核心.因为我想要ZIP文件已位于Azure Cloud中,因此首先,我要下载单个文件以流式传输,将流添加到zip存档中,然后将zip上传到云中.以下是我的代码: if (CloudStorageAccount.TryParse(_Appsettings.GetSection("StorConf").GetSection("StorageConnection").Value, out CloudStorageAccount storageAccount)) { CloudBlobClient BlobClient = storageAccount.CreateCloudBlobClient(); TimeSp
10 2024-04-26
编程技术问答社区
从字符串中压缩文件
我有一个我需要通过电子邮件发送的大型CSV,必须压缩文件,否则可能会达到SMTP服务器的最大限制.我正在基于数据库查询中生成内存中的CSV. 我试图在此问题上使用答案 c#c​​ompress and zip csv来自流.但是它不起作用(可能是由于不同的C#版本,我正在使用.NET Core 2.2) 最终CSV是一个字符串,然后我将其转换为流并将其传递到答案的扩展. 我正在从答案中使用的代码(稍微适应): { public string FileName { get; set; } public Stream FileStream { get; set; } } public static class ZipArchiveExtensions { public static Stream GenerateStreamFromString(string s) {
8 2024-04-26
编程技术问答社区
如何压缩和解压包含子文件夹和文件的隔离存储中的根文件夹
我在将Sharpziplib与WP7中的孤立存储使用隔离储存器中的拉链子文件夹中遇到问题.我的文件夹结构就像我在孤立的存储中有一个 rootfolder ,并且内部有 subfolder 有一些文本文件和更多的子文件夹(包含.jpg和.png).我可以去dotnetzip,但我不确定它是否适用于WP7,以及它的用法. 我能够通过在根文件夹上递归遍历列表中的所有文件路径.目前,我能够将多个文件删除,但仅当它们位于单个文件夹中时. 无法找到使用文件夹和文件结构正确层次结构的邮政编码的方法,并将其保存在孤立的存储中.还需要用正确的文件夹和文件结构解压缩. 解决方案 您可以使用 SharpZiplib 用于Silverlight/Windows Phone 7. 以下代码基于简短概述: button1_Click准备一些虚拟文件夹和文件以进行概念证明:文件夹 root 包含文件和两个 subfolters 每个都包含一个文件,然后调用CreateZip以 root
12 2024-04-25
编程技术问答社区
将文件从一个zip文件复制到另一个文件
在某些情况下,我将文件从一个zip文件复制到另一个zip文件.我想知道是否有比我想出的更好的方法: using FileStream sourceFileStream = new FileStream(source.FileName, FileMode.Open); using FileStream targetFileStream = new FileStream(target.FileName, FileMode.Open, FileAccess.ReadWrite); using ZipArchive sourceZip = new ZipArchive(sourceFileStream, ZipArchiveMode.Read); using ZipArchive targetZip = new ZipArchive(targetFileStream, ZipArchiveMode.Update); ZipArchiveEntry sourceEntry = sourceZ
6 2024-04-25
编程技术问答社区
一个更快的解压大压缩文件的方法
我正在编写一个程序,该程序从zip文件中提取图像并将其分类. System.IO.Compression.ZipFile.ExtractToDirectory对于较小的文件似乎可以正常工作,但是对于 big Files (> 4GB)确实很慢,那里是否有更快的库?我不需要任何特殊的东西就将zip文件提取到目录中. 解决方案 使用7-zip http://www.7-zip.org/download.html public static string[] UnpackZip(string file, string targetDirectory) { Process p = new Process(); string unzip = "x -y \"-o" + targetDirectory + "\" \"" + file + "\" "; p.StartInfo.FileName = "7z.exe";
12 2024-04-25
编程技术问答社区
GZipStream压缩文件无效或损坏
打开zip文件时有问题.我正在使用此代码将文件汇总: public static string Zip_File(string soruce , string target) { try { byte[] bufferWrite; using (FileStream fsSource = new FileStream(soruce, FileMode.Open, FileAccess.Read, FileShare.Read)) { bufferWrite = new byte[fsSource.Length]; fsSource.Read(bufferWrite, 0, bufferWrite.Length); using (FileStream fsDest = new FileStream(target, Fil
14 2024-04-25
编程技术问答社区
使用DotNetZip创建Zip文件时出错。归档的意外结束
我有一种使用dotnetzip汇总一个或多个文件的方法,并且它已经正常工作.我今天第一次收到一个错误,似乎与档案的总尺寸有关.使用相同的60MB .TIFF图像,我会添加一些额外的副本,测试,重复.它运行良好,直到添加了大约10张图像,然后,当我使用Winrar打开ZIP文件时,我会遇到"档案的意外结束"错误.以这种方式进行测试,我相信我已经排除了与我的代码或文件有关的问题(损坏或其他内容).该代码没有错误,只有Winrar.当我打开zip文件时,只有一个文件显示为" 0".因此,似乎正在达到某种尺寸限制,并且不允许创建档案.我只是不知道它是哪个限制.这是我的代码,如果有帮助: HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ContentType = "application/zip"; HttpContext.Current.Response.AddHeader("content-dispos
24 2024-04-25
编程技术问答社区
ZipFile.CreateFromDirectory不包括目录条目
我有一个基本的Windows 10 UWP应用程序,并使用以下代码从目录结构创建.zip文件: ZipFile.CreateFromDirectory("/inputpath", "/output.zip"); 我注意到所得的.zip文件没有嵌套目录的任何条目,因此在Mac上解压缩不起作用. 这是我要在zip文件中包含的目录结构: ./ziproot ./Data Version.txt 我使用的是API ZipFile.CreateFromDirectory(...): $ zipinfo output.zip Archive: output.zip 279202 bytes 4 files -rw---- 2.0 fat 1 b- defN 13-May-16 11:33 Data\Version.txt 当我使用Windows Explorer压缩测试文件夹时,我会得到正确的ZIP结构:
10 2024-04-24
编程技术问答社区
DeflateStream CopyTo没有写任何东西,也没有抛出任何异常。
我基本上直接从MSDN复制了此代码样本,并具有一些最小的更改. CopyTo方法是默默失败的,我不知道为什么.什么会导致这种行为?它通过了一个78 kb的拉链文件夹,其中包含一个文本文件.返回的FileInfo对象指向0 kb文件.没有例外. public static FileInfo DecompressFile(FileInfo fi) { // Get the stream of the source file. using (FileStream inFile = fi.OpenRead()) { // Get original file extension, // for example "doc" from report.doc.cmp. string curFile = fi.FullName; strin
12 2024-04-24
编程技术问答社区