我正在生成一个我不想让用户下载的小 Json 文件。所以我希望浏览器提示用户下载文件。
我已经尝试了许多相关问题中建议的答案,但这些对我不起作用。
该请求是通过单击操作链接发出的:
@Ajax.ActionLink("Generate JSON", "GenerateOcJson", new AjaxOptions { HttpMethod = "POST" })
我试过了:
var cd = new System.Net.Mime.ContentDisposition { FileName = fileName, Inline = false };
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(Encoding.UTF8.GetBytes(jsonString),
"application/json",
string.Format(fileName));
和:
Response.Clear();
Response.ContentType = "application/json";
Response.AppendHeader("Content-Disposition", "attachment; filename=foo.json");
Response.Write(jsonString);
Response.End();
但是浏览器不会下载文件。我正在使用 MVC3,此方法由 actionlink 调用。我已经尝试过 POST 和 GET 请求。
如果我使用 Chrome 检查请求,我会看到正确的 json 已写入浏览器响应。
有什么线索吗?提前谢谢