当我使用
window.location = '<%= Url.Action("DownloadFile", "Home") %>?fileId=id,
我完全在不同的屏幕上获取内容
但是如何将它作为弹出窗口打开,例如打开,保存,另存为对话框?
我正在点击返回 File 对象的 ActionResult DownloadFile()。
当我使用
window.location = '<%= Url.Action("DownloadFile", "Home") %>?fileId=id,
我完全在不同的屏幕上获取内容
但是如何将它作为弹出窗口打开,例如打开,保存,另存为对话框?
我正在点击返回 File 对象的 ActionResult DownloadFile()。
您可以使用File方法的第三个参数来指定文件名。当用户导航到此操作时,这将具有将Content-Disposition
HTTP 响应标头设置为attachment
弹出“另存为”对话框的效果:
public ActionResult DownloadFile(string fileId)
{
byte[] file = ...
// TODO: adjust the MIME type and filename extension to your case accordingly
return File(file, "text/plain", "foo.txt");
}
然后:
var id = '1234';
window.location.href = '<%= Url.Action("DownloadFile", "Home") %>?fileId=' + id;
会工作得很好。