Jedno z moich działań kontrolera zwraca plik użytkownikowi. Chciałbym, aby użytkownikowi przedstawiono okno dialogowe pobierania (otwierania/zapisywania), niezależnie od typu pliku. Działa to dobrze, gdy typ pliku to .doc, .docx, .xlsx, itp., Ale gdy plik jest .txt, .xps, .pdf (czasami) lub .html, otwiera się w przeglądarce.Asp.net MVC FileContentResult - uniemożliwia otwarcie w przeglądarce
Czy mogę zapobiec otwieraniu pliku w przeglądarce i zezwalać użytkownikowi na otwieranie go w osobnym oknie bez konieczności poruszania się od bieżącej strony?
Żądanie tego pliku zostało utworzone za pomocą jQuery's $.ajax({})
.
Powiązane: Posiadanie przeglądarki obsługującej żądanie i wywołanie wyskakującego okienka w przeciwieństwie do wywołania AJAX otrzymującego informację o treści pliku jako ciąg odpowiedzi jest wyjaśnione przez this ansewr, ale to pytanie dotyczy zmuszenia przeglądarki do obsługi pliku w w pewien sposób po otrzymaniu.
Daje to taki sam wynik jak 'application/unknown', który, niestety, jest coś staram się unikać. Dla wygody użytkowników najlepiej jest zezwolić im na otwarcie pliku jednym kliknięciem (po prostu nie w bieżącym oknie przeglądarki). – yoozer8
Jeśli możesz to zrobić na swoim serwerze, spróbuj ustawić nagłówek "Content-Disposition" na "attachment; filename = whatever.xyz" – Ray
To jest dokładnie to. Dzięki. – yoozer8