标签:zip C# uploadDir 压缩文件 item var new size theEntry
代码:
public async Task<ReturnModel<List<string>>> UploadModel() { var task = new Task<ReturnModel<List<string>>>(() => { var rData = new ReturnModel<List<string>>() { code=101}; var uploadDir = HttpContext.Current.Server.MapPath("/Content/Resource/ObjModel/"); var newFileName = ""; var sp = new MultipartMemoryStreamProvider(); Task.Run(async () => await Request.Content.ReadAsMultipartAsync(sp)).Wait(); foreach (var item in sp.Contents) { if (item.Headers.ContentDisposition.FileName != null) { var filename = item.Headers.ContentDisposition.FileName.Replace("\"", ""); newFileName = uploadDir + "\\" + filename; var fStream = item.ReadAsStreamAsync().Result;//File.OpenRead(zipFilePath)打开本地压缩文件解压 using (var s = new ZipInputStream(fStream)) { ZipEntry theEntry; while ((theEntry = s.GetNextEntry()) != null) { string directoryName = Path.GetDirectoryName(theEntry.Name); string fileName = Path.GetFileName(theEntry.Name); if (!string.IsNullOrEmpty(directoryName)) { Directory.CreateDirectory(uploadDir + directoryName); } if (fileName != String.Empty) { using (System.IO.FileStream streamWriter = File.Create(uploadDir + theEntry.Name)) { int size; byte[] data = new byte[2048]; while (true) { size = s.Read(data, 0, data.Length); if (size > 0) { streamWriter.Write(data, 0, size); } else { break; } } } } } } } } return rData; }); task.Start(); return await task.ContinueWith(t => t.Result); }
标签:zip,C#,uploadDir,压缩文件,item,var,new,size,theEntry 来源: https://www.cnblogs.com/xiaojitui/p/11906161.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。