【发布时间】:2018-10-03 18:49:55
【问题描述】:
NET MVC 4 应用程序,在这个应用程序中,我必须下载由 Zip 文件中的字节数组列表表示的多个文件,因此我使用了 DotNetZip 库。当我执行这段代码时:
using (MemoryStream ms = new MemoryStream())
{
using (var archive = new ZipFile())
{
foreach (var item in byteArrays)
{
var entry = archive.AddEntry("file" + i + ".pdf", item);
i++;
archive.Save("All.zip");
using (var zipStream = entry.OpenReader())
{
zipStream.Write(item, 0, item.Length);
}
}
}
return File(ms.ToArray(), "application/zip", "all.zip");
}
在这一行:
zipStream.Write(item, 0, item.Length);
我收到了这个错误:
错误状态(无效文字/长度代码)
Ionic.Zlib.ZlibException 未被用户代码处理
HResult=-2146233088 消息=错误状态(无效文字/长度代码) 来源=DotNetZip StackTrace: 在 Ionic.Zlib.InflateManager.Inflate(FlushType 冲洗) 在 Ionic.Zlib.ZlibCodec.Inflate(FlushType 刷新) 在 Ionic.Zlib.ZlibBaseStream.Write(字节 [] 缓冲区,Int32 偏移量,Int32 计数) 在 Ionic.Zlib.DeflateStream.Write(字节 [] 缓冲区,Int32 偏移量,Int32 计数) 在 Ionic.Crc.CrcCalculatorStream.Write(字节 [] 缓冲区,Int32 偏移量,Int32 计数) 在 Host.Web.Areas.FranceArea.Controllers.FranceController.downloadMultiplefile() 在 C:\Projects\Oddo.Web.OBAM_Icn\Host\Host.Web\Areas\FranceArea\Controllers\FranceController.cs:line 503 在 lambda_method(闭包,ControllerBase,对象 []) 在 System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase 控制器,Object[] 参数) 在 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext 控制器上下文,IDictionary2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 参数) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass42.b__41() 在 System.Web.Mvc.Async.AsyncResultWrapper.c__DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.End() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult 异步结果) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass37.c__DisplayClass39.b__33() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass4f.b__49() 内部异常:
【问题讨论】:
-
打开读写器?
标签: c# asp.net-mvc dotnetzip