求大神,C#怎么根据路径上传文件夹下的全部压缩文件?

时间:2022-08-28 20:10:10
求大神求大神,FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时,把文件夹里面的全部压缩文件上传到网站上。可以吗???有方法吗???

34 个解决方案

#1


引用 楼主 lalalanbai 的回复:
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?

#2


不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选

#3


问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html

#4


引用 1 楼 shingoscar 的回复:
Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

#5


引用 3 楼 danding_ge 的回复:
问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html



我很憋屈的告诉你。是前者。

#6


引用 2 楼 xdashewan 的回复:
不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选



没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

#7


引用 6 楼 lalalanbai 的回复:
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制

#8


引用 7 楼 xdashewan 的回复:
Quote: 引用 6 楼 lalalanbai 的回复:

没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制



好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

#9


引用 8 楼 lalalanbai 的回复:
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的

#10


引用 4 楼 lalalanbai 的回复:
Quote: 引用 1 楼 shingoscar 的回复:

Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传

#11


引用 10 楼 shingoscar 的回复:
Quote: 引用 4 楼 lalalanbai 的回复:

Quote: 引用 1 楼 shingoscar 的回复:

Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传



不是差不多吗。。。知道文件夹了。。。

#12


引用 9 楼 xdashewan 的回复:
Quote: 引用 8 楼 lalalanbai 的回复:

好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的



刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

#13


引用 12 楼 lalalanbai 的回复:
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因

#14


引用 13 楼 xdashewan 的回复:
Quote: 引用 12 楼 lalalanbai 的回复:

刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因


那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

#15


引用 14 楼 lalalanbai 的回复:
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差

#16


引用 15 楼 xdashewan 的回复:
Quote: 引用 14 楼 lalalanbai 的回复:

那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差



这个我知道。谢谢你啦。

#17


引用 15 楼 xdashewan 的回复:
Quote: 引用 14 楼 lalalanbai 的回复:

那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差



我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

#18


引用 17 楼 lalalanbai 的回复:
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

这不会的,压缩类是可以解压多个文件的

#19


引用 18 楼 xdashewan 的回复:
Quote: 引用 17 楼 lalalanbai 的回复:

我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

这不会的,压缩类是可以解压多个文件的





/// <summary>
        /// 功能:解压zip格式的文件。
        /// </summary>
        /// <param name="zipFilePath">压缩文件路径</param>
        /// <param name="unZipDir">解压文件存放路径,为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹</param>
        /// <param name="err">出错信息</param>
        /// <returns>解压是否成功</returns>
        public static bool UnZipFile(string zipFilePath, string unZipDir)
        {
            string directoryName = "";
            if (unZipDir == string.Empty)
                unZipDir = zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));
            if (!unZipDir.EndsWith("\\"))
                unZipDir += "\\";
            if (!Directory.Exists(unZipDir))
                Directory.CreateDirectory(unZipDir);


            using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath)))
            {
                ZipEntry theEntry;
                while ((theEntry = s.GetNextEntry()) != null)
                {
                    directoryName = Path.GetDirectoryName(theEntry.Name);
                    string fileName = Path.GetFileName(theEntry.Name);
                    if (directoryName.Length > 0)
                    {
                        Directory.CreateDirectory(unZipDir + directoryName);
                    }
                    if (!directoryName.EndsWith("//"))
                        directoryName += "//";
                    if (fileName != String.Empty)
                    {
                        using (FileStream streamWriter = File.Create(unZipDir + theEntry.Name))
                        {
                            int size = 2048;
                            byte[] data = new byte[2048];
                            while (true)
                            {
                                size = s.Read(data, 0, data.Length);    压缩包里面含有多个压缩文件在这里会报错  Unknown block type 5 
                                if (size > 0)
                                {
                                    streamWriter.Write(data, 0, size);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            return true;
        }


#20


你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库

#21


引用 20 楼 xdashewan 的回复:
你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库


也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

#22


引用 21 楼 lalalanbai 的回复:
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

用微软提供的试试

#23


该回复于2016-05-01 09:07:59被管理员删除

#24


求大神,C#怎么根据路径上传文件夹下的全部压缩文件?
你要是用代码,那只能用Activex去整可以实现。 求大神,C#怎么根据路径上传文件夹下的全部压缩文件?看你愿不愿意这么整,或者你自己整个客户端也是可以的。

#25


粗粗看了一下,想到这问题能不能用其他思路来处理

1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹

完成

#26


引用 25 楼 puler 的回复:
粗粗看了一下,想到这问题能不能用其他思路来处理

1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹

完成

他现在的问题首先是上传不了,后来是解压出错。你说的没有错,但那都是正常上传完成后的事

#27


可以

#28


FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了

#29


引用 22 楼 xdashewan 的回复:
Quote: 引用 21 楼 lalalanbai 的回复:

也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

用微软提供的试试


微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

#30


引用 24 楼 wyd1520 的回复:
求大神,C#怎么根据路径上传文件夹下的全部压缩文件?
你要是用代码,那只能用Activex去整可以实现。 求大神,C#怎么根据路径上传文件夹下的全部压缩文件?看你愿不愿意这么整,或者你自己整个客户端也是可以的。



没有辣么厉害。。。将就一下就好了。

#31


引用 28 楼 starfd 的回复:
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了


现在是解压出现问题了。。。

#32


引用 29 楼 lalalanbai 的回复:
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了

#33


引用 32 楼 xdashewan 的回复:
Quote: 引用 29 楼 lalalanbai 的回复:

微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了



实例我没有那些类啊。搞不懂。。。

#34


换了一个ICSharpCode.SharpZipLib.dll就解压成功了。。。是在无比坑爹。
总之谢谢各位啦、

#1


引用 楼主 lalalanbai 的回复:
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?

#2


不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选

#3


问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html

#4


引用 1 楼 shingoscar 的回复:
Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

#5


引用 3 楼 danding_ge 的回复:
问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html



我很憋屈的告诉你。是前者。

#6


引用 2 楼 xdashewan 的回复:
不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选



没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

#7


引用 6 楼 lalalanbai 的回复:
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制

#8


引用 7 楼 xdashewan 的回复:
Quote: 引用 6 楼 lalalanbai 的回复:

没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。

简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制



好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

#9


引用 8 楼 lalalanbai 的回复:
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的

#10


引用 4 楼 lalalanbai 的回复:
Quote: 引用 1 楼 shingoscar 的回复:

Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传

#11


引用 10 楼 shingoscar 的回复:
Quote: 引用 4 楼 lalalanbai 的回复:

Quote: 引用 1 楼 shingoscar 的回复:

Quote: 引用 楼主 lalalanbai 的回复:

FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时

这两句话为什么可以用“然后”连接在一起?



为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???

那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传



不是差不多吗。。。知道文件夹了。。。

#12


引用 9 楼 xdashewan 的回复:
Quote: 引用 8 楼 lalalanbai 的回复:

好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。

压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的



刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

#13


引用 12 楼 lalalanbai 的回复:
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因

#14


引用 13 楼 xdashewan 的回复:
Quote: 引用 12 楼 lalalanbai 的回复:

刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?

过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因


那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

#15


引用 14 楼 lalalanbai 的回复:
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差

#16


引用 15 楼 xdashewan 的回复:
Quote: 引用 14 楼 lalalanbai 的回复:

那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差



这个我知道。谢谢你啦。

#17


引用 15 楼 xdashewan 的回复:
Quote: 引用 14 楼 lalalanbai 的回复:

那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。

一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差



我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

#18


引用 17 楼 lalalanbai 的回复:
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

这不会的,压缩类是可以解压多个文件的

#19


引用 18 楼 xdashewan 的回复:
Quote: 引用 17 楼 lalalanbai 的回复:

我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。

这不会的,压缩类是可以解压多个文件的





/// <summary>
        /// 功能:解压zip格式的文件。
        /// </summary>
        /// <param name="zipFilePath">压缩文件路径</param>
        /// <param name="unZipDir">解压文件存放路径,为空时默认与压缩文件同一级目录下,跟压缩文件同名的文件夹</param>
        /// <param name="err">出错信息</param>
        /// <returns>解压是否成功</returns>
        public static bool UnZipFile(string zipFilePath, string unZipDir)
        {
            string directoryName = "";
            if (unZipDir == string.Empty)
                unZipDir = zipFilePath.Replace(Path.GetFileName(zipFilePath), Path.GetFileNameWithoutExtension(zipFilePath));
            if (!unZipDir.EndsWith("\\"))
                unZipDir += "\\";
            if (!Directory.Exists(unZipDir))
                Directory.CreateDirectory(unZipDir);


            using (ZipInputStream s = new ZipInputStream(File.OpenRead(zipFilePath)))
            {
                ZipEntry theEntry;
                while ((theEntry = s.GetNextEntry()) != null)
                {
                    directoryName = Path.GetDirectoryName(theEntry.Name);
                    string fileName = Path.GetFileName(theEntry.Name);
                    if (directoryName.Length > 0)
                    {
                        Directory.CreateDirectory(unZipDir + directoryName);
                    }
                    if (!directoryName.EndsWith("//"))
                        directoryName += "//";
                    if (fileName != String.Empty)
                    {
                        using (FileStream streamWriter = File.Create(unZipDir + theEntry.Name))
                        {
                            int size = 2048;
                            byte[] data = new byte[2048];
                            while (true)
                            {
                                size = s.Read(data, 0, data.Length);    压缩包里面含有多个压缩文件在这里会报错  Unknown block type 5 
                                if (size > 0)
                                {
                                    streamWriter.Write(data, 0, size);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            return true;
        }


#20


你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库

#21


引用 20 楼 xdashewan 的回复:
你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库


也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

#22


引用 21 楼 lalalanbai 的回复:
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

用微软提供的试试

#23


该回复于2016-05-01 09:07:59被管理员删除

#24


求大神,C#怎么根据路径上传文件夹下的全部压缩文件?
你要是用代码,那只能用Activex去整可以实现。 求大神,C#怎么根据路径上传文件夹下的全部压缩文件?看你愿不愿意这么整,或者你自己整个客户端也是可以的。

#25


粗粗看了一下,想到这问题能不能用其他思路来处理

1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹

完成

#26


引用 25 楼 puler 的回复:
粗粗看了一下,想到这问题能不能用其他思路来处理

1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹

完成

他现在的问题首先是上传不了,后来是解压出错。你说的没有错,但那都是正常上传完成后的事

#27


可以

#28


FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了

#29


引用 22 楼 xdashewan 的回复:
Quote: 引用 21 楼 lalalanbai 的回复:

也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...

用微软提供的试试


微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

#30


引用 24 楼 wyd1520 的回复:
求大神,C#怎么根据路径上传文件夹下的全部压缩文件?
你要是用代码,那只能用Activex去整可以实现。 求大神,C#怎么根据路径上传文件夹下的全部压缩文件?看你愿不愿意这么整,或者你自己整个客户端也是可以的。



没有辣么厉害。。。将就一下就好了。

#31


引用 28 楼 starfd 的回复:
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了


现在是解压出现问题了。。。

#32


引用 29 楼 lalalanbai 的回复:
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了

#33


引用 32 楼 xdashewan 的回复:
Quote: 引用 29 楼 lalalanbai 的回复:

微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流

gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了



实例我没有那些类啊。搞不懂。。。

#34


换了一个ICSharpCode.SharpZipLib.dll就解压成功了。。。是在无比坑爹。
总之谢谢各位啦、