0
我必須從圖片URL路徑下載壓縮圖片。下載圖像清晰。但問題是沒有出現提示窗口,即FileStreamResult什麼都不返回。爲什麼FileStreamResult沒有結果?
Asp.NET MVC控制器POST方法:
[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不工作 - 爲什麼?我嘗試了太多但沒有成功。字符串[]名稱的值是通過使用Ajax \ JqueryUI post方法獲得的。實際上,這些值是checkBox的值,它們被檢查。
無法通過ajax下載文件,因爲ajax是異步的,用戶必須允許下載繼續。因此,如果您希望在不重定向當前窗口的情況下發生請求,則必須打開一個新窗口。 –
那我該怎麼辦? – user2536026
我剛剛告訴過你,你必須打開一個新窗口,下載文件的URL。 –