Я знаю, что это старо, но вот что я сделал, чтобы добиться ОП. (Извините, это C#, но преобразовать его несложно)
Это исходный код, который я использовал, который показал то же поведение, которое вы описали!
Response.ClearContent();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline; filename=" + docName);
Response.AddHeader("Content-Length", byteArray.Length.ToString());
Response.BinaryWrite(byteArray);
Response.End();
Есть два ключевых изменения, которые мне пришлось внести, чтобы это работало так, как я хотел (скачать файл в формате PDF, а затем открыть в новой вкладке, когда пользователь щелкнул это вложение.) и они оба находятся в строке 3 кода выше.
Изменить это
Response.AddHeader("Content-Disposition", "inline; filename=" + docName);
К этому
Response.AddHeader("Content-Disposition", "attachment; filename=" + docName + ".pdf");
Если вы укажете Content-Disposition как "Inline", он выведет содержимое файла в ваше текущее окно.
Вам нужно изменить это расположение на "attachment" И убедиться, что суффикс вашего расширения явно установлен на .pdf.
person
Bonez024
schedule
02.05.2018