Jeśli używasz serwera, a następnie wykonaj mechanizm składania formularza, aby wyrenderować stronę. W MVC możemy skorzystać z poniższego kodu
html
@using (Html.BeginForm("GetAttachment", "User", FormMethod.Post))
{
<button type="submit">Download</button>
}
MVC Controller
public ActionResult GetAttachment()
{
string filename = "File.pdf";
string filepath = AppDomain.CurrentDomain.BaseDirectory + "/Path/To/File/" + filename;
byte[] filedata = System.IO.File.ReadAllBytes(filepath);
string contentType = MimeMapping.GetMimeMapping(filepath);
var cd = new System.Net.Mime.ContentDisposition
{
FileName = filename,
Inline = true,
};
Response.AppendHeader("Content-Disposition", cd.ToString());
return File(filedata, contentType);
}
Można sprawdzić moją odpowiedź tutaj: https://stackoverflow.com/questions/38524320/download-pdf -file-from-ajax-response/38552959 # 38552959 Daje dokładnie to, czego szukasz. – Dekel
@Dekel Zobacz kryteria w OP, '.responseType' nie został zdefiniowany w tym momencie w rozwoju przeglądarki. – guest271314
szukasz rozwiązania na rok 2016 kompatybilny z przeglądarką lub 2017? :) – Dekel