我试图通过自定义处理程序下载一个zip文件。该文件被下载为零字节zip文件。但原始文件不是零字节zip文件。ProcessRequest(HttpContext context)
中的代码是
String file = Directory.GetFiles(cachePath).FirstOrDefault();
String filename = Path.GetFileName(file);
context.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
context.Response.ContentType = "application/zip";
//byte[] bytes = File.ReadAllBytes(file);
//context.Response.BinaryWrite(bytes);
context.Response.TransmitFile(file);
context.Response.Flush();
字符串
2条答案
按热度按时间y1aodyip1#
也许你需要
Content-Length
字符串
或者你可能缺少
ContentType
型
作为最后的手段,它可能与缓存有关。
型
pieyvz9o2#
这段代码看起来很准确。我在我的网站上使用了一个几乎相同的片段来执行文件下载。我唯一看不到的是你从中检索文件的路径。你可能需要执行HostingEnvironment.ApplicationPhysicalPath来获取文件的实际路径。