Tôi gặp sự cố với tên tệp đính kèm. Khi tôi gọi trang web trên google chrome, nó sẽ trả về tệp có tên và phần mở rộng phù hợp. Tôi đã thử nghiệm nó với internet explorer và nó hoạt động tốt quá. Vấn đề nằm chỉ với Firefox. Tôi gọi trang web và nó trả về từ đầu tiên trên tiêu đề tệp và không có phần mở rộng.Đầu đề Firefox và Content-Disposition
Ví dụ: nếu tôi muốn một tệp có tên "Báo cáo của tôi.docx", tệp này sẽ chuyển một tệp có tên là "Của tôi". Tôi đã đi khắp nơi và hóa ra đây là vấn đề thường gặp với mọi người bởi vì các trình duyệt đọc các tiêu đề khác nhau. Họ nói rằng việc sửa chữa là trích dẫn tên file:
Content-Disposition: attachment; filename=My Report.docx
bây giờ là: (lưu ý có dấu ngoặc kép)
Content-Disposition: attachment; filename="My Report.docx"
Tuy nhiên, điều đó không làm việc cho tôi.
Trên chrome, nó trả về "My Report.docx" (thực sự có dấu ngoặc kép). Firefox trả lại một tệp lẻ có đuôi mở rộng và tên thích hợp và không có dấu ngoặc kép nào nhưng nó không thể được thực thi. Đó là kích thước tệp thích hợp, phần mở rộng thích hợp và tên thích hợp nhưng nó không thể được thực thi. Ngoài ra nó trả về một dấu cách trước và sau tên tệp.
có thể trùng lặp của [Cách mã hóa tham số tên tệp của tiêu đề Nội dung-Bố trí trong HTTP?] (Http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content -disposition-header-in-http) –
Nếu bạn tự hỏi tại sao Firefox của bạn bỏ qua tiêu đề này, hãy kiểm tra xem bạn đã cài đặt addon 'InlineDisposition' chưa: nó là một addon tuyệt vời được viết đặc biệt để vô hiệu hóa' Content-Disposition' buộc tải xuống và rất dễ quên khi phát triển web. –
Dấu ngoặc kép làm việc trong IE, Chrome và FireFox cho tôi, sử dụng các phiên bản mới nhất. – angularsen