34 个解决方案
#1
这两句话为什么可以用“然后”连接在一起?
#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
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html
#4
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
#5
问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html
我很憋屈的告诉你。是前者。
#6
不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
#7
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制
#8
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
#9
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的
#10
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时
这两句话为什么可以用“然后”连接在一起?
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传
#11
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时
这两句话为什么可以用“然后”连接在一起?
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传
不是差不多吗。。。知道文件夹了。。。
#12
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
#13
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因
#14
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
#15
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
#16
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
这个我知道。谢谢你啦。
#17
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
#18
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
这不会的,压缩类是可以解压多个文件的
#19
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
这不会的,压缩类是可以解压多个文件的
/// <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楼给你的微软提供的类库
如果你的framwork版本足够可以用3楼给你的微软提供的类库
#21
你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
#22
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
用微软提供的试试
#23
#24
你要是用代码,那只能用Activex去整可以实现。 看你愿不愿意这么整,或者你自己整个客户端也是可以的。
#25
粗粗看了一下,想到这问题能不能用其他思路来处理
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
#26
粗粗看了一下,想到这问题能不能用其他思路来处理
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
他现在的问题首先是上传不了,后来是解压出错。你说的没有错,但那都是正常上传完成后的事
#27
可以
#28
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了
#29
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
用微软提供的试试
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
#30
你要是用代码,那只能用Activex去整可以实现。 看你愿不愿意这么整,或者你自己整个客户端也是可以的。
没有辣么厉害。。。将就一下就好了。
#31
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了
现在是解压出现问题了。。。
#32
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了
#33
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了
实例我没有那些类啊。搞不懂。。。
#34
换了一个ICSharpCode.SharpZipLib.dll就解压成功了。。。是在无比坑爹。
总之谢谢各位啦、
总之谢谢各位啦、
#1
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
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html
#4
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时
这两句话为什么可以用“然后”连接在一起?
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
#5
问题描述的不是很清晰,不知道你是想把文件夹里的压缩文件上传,还是要把文件夹里的文件全部压缩后再上传,我猜是后者。
压缩文件及文件夹 https://msdn.microsoft.com/zh-cn/library/ms404280(v=vs.110).aspx
上传文件 http://www.cnblogs.com/QLJ1314/archive/2013/03/04/2942703.html
我很憋屈的告诉你。是前者。
#6
不可以,必需要一个一个选择文件,可以同时一起上传,但必须人工一个个选
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
#7
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制
#8
没有什么简便一点的方法吗。客户不可能一个个选吧。很多压缩文件。
简单的办法有啊,事先把所有文件打成一个包。改用ftp上传。改成c/s架构本地文件任你传。好多种可以实现的方式,唯独浏览器不行,因为这是安全机制
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
#9
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的
#10
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时
这两句话为什么可以用“然后”连接在一起?
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传
#11
FileUpload我上传一个excel文件,然后获得了这个文件夹路径的同时
这两句话为什么可以用“然后”连接在一起?
为啥不可以。。。我上传的时候不是可以知道excel文件在的文件夹吗???
那也应该是:我获得了一个excel文件夹路径,然后通过FileUpload上传
不是差不多吗。。。知道文件夹了。。。
#12
好吧,菜鸟不懂那么复杂的东西。
那我可以把这个文件夹压缩了然后再解压缩吧。
压缩你得上传前进行,解压你可以在服务器上代码执行,这是没问题的
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
#13
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因
#14
刚才想蒙了。
我是要把全部的压缩文件放在一个文件夹里面,然后再自己压缩了,再上传到服务器,再然后我再在服务器解压出来吗?
这样会不会有问题?
过程是没错,你要解决的问题是客户端侧的压缩你得考虑用什么方式进行,此步骤极可能需要人工操作,所以现在邮箱都采用不停让你添加附件的方式,而不是让你自己去压缩,压缩过程可控性差也是一部分原因
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
#15
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
#16
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
这个我知道。谢谢你啦。
#17
那我这个肯定是要客户自己人工操作压缩的吧。我没办法啊。
一种方式就是类似现在web邮件,有多少文件选多少文件。另一种只能客户自己压,然后你解压,此方式也许会因压缩工具或版本不同造成你解压时一些意料之外的事,所以我之前说是可控性差
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
#18
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
这不会的,压缩类是可以解压多个文件的
#19
我还想问一个问题,我现在解压遇到问题了。压缩包里面只有一个压缩文件才解压成功,有多个压缩文件的不成功。
这不会的,压缩类是可以解压多个文件的
/// <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楼给你的微软提供的类库
如果你的framwork版本足够可以用3楼给你的微软提供的类库
#21
你用的是SharpZipLib?可以看看http://www.cnblogs.com/xuanye/archive/2011/10/19/2217211.html
如果你的framwork版本足够可以用3楼给你的微软提供的类库
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
#22
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
用微软提供的试试
#23
#24
你要是用代码,那只能用Activex去整可以实现。 看你愿不愿意这么整,或者你自己整个客户端也是可以的。
#25
粗粗看了一下,想到这问题能不能用其他思路来处理
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
#26
粗粗看了一下,想到这问题能不能用其他思路来处理
1、上传的文件夹位置,是一个临时的位置,每个用户上传,都放置到每个用户单独的临时文件夹内
2、上传完毕了,接着让服务器对这个临时文件夹进行压缩,用户界面显示等待
3、将压缩好的文件夹,COPY到永久存放,多用户一起的文件夹内
4、清空这个用户的文件夹
完成
他现在的问题首先是上传不了,后来是解压出错。你说的没有错,但那都是正常上传完成后的事
#27
可以
#28
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了
#29
也是在同样的地方报错。。。
用户代码未处理SharpZipBaseException...
用微软提供的试试
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
#30
你要是用代码,那只能用Activex去整可以实现。 看你愿不愿意这么整,或者你自己整个客户端也是可以的。
没有辣么厉害。。。将就一下就好了。
#31
FileUpload这是web的,BS结构的东西你要知道B是浏览器的意思,早期的浏览器你还能通过js获取到文件在客户端的实际物理路径,但现在都已经不能够访问了,这是安全限制,更不要说压缩了
现在是解压出现问题了。。。
#32
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了
#33
微软的我不太懂,报了这个错。GZip 头中的幻数不正确。请确保正在传入 GZip 流
gz和zip不是同一货,那个地址不是有示例的嘛,就按示例写不就行了
实例我没有那些类啊。搞不懂。。。
#34
换了一个ICSharpCode.SharpZipLib.dll就解压成功了。。。是在无比坑爹。
总之谢谢各位啦、
总之谢谢各位啦、