1

当我使用

window.location = '<%= Url.Action("DownloadFile", "Home") %>?fileId=id,

我完全在不同的屏幕上获取内容

但是如何将它作为弹出窗口打开,例如打开,保存,另存为对话框?

我正在点击返回 File 对象的 ActionResult DownloadFile()。

4

1 回答 1

0

您可以使用File方法的第三个参数来指定文件名。当用户导航到此操作时,这将具有将Content-DispositionHTTP 响应标头设置为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;

会工作得很好。

于 2012-07-02T07:36:28.027 回答