Tôi đã cố tải xuống tệp có tên tệp GB2312% D5% D5% C6% AC.JPG từ trang web của tôi, mọi thứ diễn ra tốt trong IE9/Firefox, nhưng không có trong Google Chrome.Chrome không thể nhận dạng tên tệp được mã hóa url trong khi tải xuống
Trong Google Chrome, tên tệp này được thay thế bằng tên trang tải xuống của tôi (Có thể Chrome không giải mã được tên tệp).
Để tìm hiểu xem Chrome có đang giải mã tên tệp hay không, tôi đã thử sử dụng một chuỗi khác GB2312% 2C% 2D% 2E.txt làm tên tệp, firefox/IE9 vẫn hoạt động như mong đợi, nhưng Google Chrome sẽ cố giải mã tên tệp (thay thế% 2D bằng '-').
Làm cách nào để ngăn Google Chrome giải mã tên tệp? Tốt hơn nếu tôi có thể giải quyết vấn đề này ở phía máy chủ của tôi (PHP)
Các dòng sau đây là tiêu đề phản hồi được tạo bởi máy chủ của tôi.
**Response Headers:**
Cache-Control:must-revalidate, post-check=0, pre-check=0, private
Connection:keep-alive
Content-Description:File Transfer
Content-Disposition:attachment; filename="GB2312%D5%D5%C6%AC.JPG"
Content-Length:121969
Content-Transfer-Encoding:binary
Content-Type:application/force-download; charset=UTF-8
Date:Wed, 18 Apr 2012 03:32:30 GMT
Expires:0
Pragma:public
Server:nginx/1.1.5
X-Powered-By:PHP/5.3.8
tại sao bạn cần phải mã hóa tên tệp? –
Tệp này được đăng bởi người dùng chứ không phải phía máy chủ. thực ra nó là một tệp đính kèm thư, nói cách khác, đây là tên tệp gốc, tôi không làm gì với nó. – sailing