Tag: filecontentresult

Asp.net MVC FileContentResult – 阻止在浏览器中打开

我的一个控制器操作将文件返回给用户。 无论文件类型如何,我都希望向用户显示下载(打开/保存)对话框。 当文件类型为.doc,.docx,.xlsx等时,这可以正常工作,但当文件是.txt,.xps,.pdf(有时)或.html时,它会在浏览器中打开。 有没有办法阻止文件在浏览器中打开,只允许用户在单独的窗口中打开它而不导航离开当前页面? 该文件的请求是使用jQuery的$.ajax({}) 。 相关:让浏览器处理请求并给出弹出窗口而不是AJAX调用接收文件的conent作为响应字符串由ansewr解释,但是这个问题解决了强制浏览器以某种方式处理文件的问题收到了。

如何通过Jquery调用MVC FileContentResult并让它提示用户保存它的返回值?

我正在从MVC 3网站生成CSV并使用FileContentResult将其传递给用户。 这很好用,但生成csv需要30秒,因此在向用户提供保存提示之前30秒。 public virtual FileContentResult GetSpreadsheet(string id) { var service = new SpreadsheetService(); var result = service.GetCSV(); return File(new System.Text.UTF8Encoding().GetBytes(result.Message), “text/csv”, “Report123.csv”); } 所以我以为我只是通过JQuery调用它 – 但这(不出所料!)只是将CSV转储到页面。 $.post(“/Home/GetSpreadsheet/” + id, null, function (data) { $(‘#resultDiv’).html(data); }); 有谁知道我现在如何生成保存提示我已经有数据了? 谢谢