Một trong các hành động điều khiển của tôi trả về một tệp cho người dùng. Tôi muốn người dùng được trình bày với hộp thoại tải xuống (mở/lưu), bất kể loại tệp nào. Điều này hoạt động tốt khi loại tệp là .doc, .docx, .xlsx, v.v., nhưng khi tệp là .txt, .xps, .pdf (đôi khi) hoặc .html, nó sẽ mở trong trình duyệt.Asp.net MVC FileContentResult - ngăn chặn mở trong trình duyệt
Có cách nào tôi có thể ngăn tệp mở trong trình duyệt hay không và chỉ cho phép người dùng mở tệp trong cửa sổ riêng mà không cần điều hướng khỏi trang hiện tại?
Yêu cầu cho tệp được tạo bằng cách sử dụng jQuery $.ajax({})
.
Liên quan: Việc trình duyệt xử lý yêu cầu và cho cửa sổ bật lên trái với cuộc gọi AJAX nhận được tệp conent của tệp dưới dạng chuỗi phản hồi được giải thích bởi this ansewr, nhưng câu hỏi này buộc trình duyệt xử lý tệp trong một cách nào đó một khi nó được nhận.
Điều này mang lại kết quả tương tự như 'application/unknown', trong đó, không may, là điều mà tôi đang cố gắng để tránh. Để thuận tiện cho người dùng, tốt nhất là cho phép họ mở tệp bằng một cú nhấp chuột (chỉ trong cửa sổ trình duyệt hiện tại). – yoozer8
Nếu bạn có thể thực hiện việc này trên máy chủ của mình, hãy thử đặt tiêu đề "Chuyển nội dung" thành "tệp đính kèm; tên tệp = whatever.xyz" – Ray
Chính xác là vậy. Cảm ơn. – yoozer8