我正在生成一個我不想讓用戶下載的小Json文件。所以我希望瀏覽器提示用戶下載文件。無法讓瀏覽器下載json文件intead將其寫入響應
我已經嘗試了許多在相關問題中提出的答案,但這些不會對我有用。
@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));
和:
請求是通過在ActionLink的點擊做出
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已經寫入瀏覽器響應。
任何線索? Thnx
你爲什麼內容類型設置爲「應用程序/ PDF」如果是JSON?不應該是'application/json'或'text/javascript'(有幾種可能性,參見[http://stackoverflow.com/questions/477816/the-right-json-content-type](http:/ /stackoverflow.com/questions/477816/the-right-json-content-type)) – MadSkunk
你是對的,這是嘗試很多很多解決方案後複製錯誤。我知道json的內容類型。 Thx發現這個錯誤。但即使解決此問題,代碼也不能正常工作 – middelpat
「瀏覽器不會下載該文件。」 - 告訴我們它所做的事情以及它所做的事情。 – Quentin