我必须从图像 URL 路径下载压缩图像。下载图像清晰。但问题是没有出现提示窗口,即 FileStreamResult 什么也不返回。
Asp.NET MVC 控制器发布方法:
[AcceptVerbs(HttpVerbs.Post)]
public FileResult Extract(string[] name)
{
using (ZipFile zip = new ZipFile()) //Zip section
{
foreach (var item in name)
{
string exts = Path.GetExtension(item);
string strRealname = Path.GetFileName(item);
using (WebClient client = new WebClient()) // download Section
{
client.DownloadFile(item, Server.MapPath("~/upload/") + strRealname + exts);
}
string filePath = Server.MapPath("~/upload/" + strRealname + exts);
zip.AddFile(filePath, Path.GetFileName(filePath));
}
string dest = Server.MapPath("~/Album.zip");
zip.Save(dest);
byte[] data = System.IO.File.ReadAllBytes(dest);
var strm = new FileStream(dest, FileMode.Open);
//return new FileStreamResult(strm, "application/zip")
return new FileContentResult(data, "application/zip");//Not showing prompt window
}
}
我的问题是返回 FileStreamResult 不起作用 - 为什么?我尝试了太多但没有成功。string[] name 的值是通过 Ajax\JqueryUI post 方法获取的。实际上这些值是 checkBox 被选中的值。