2013-10-08 36 views
1

我首先說我知道你可以在標題中指定Content-Disposition,並使用「attachment」或「inline」,這個問題是NOT關於那個(至少不是直接)。什麼決定瀏覽器是否會打開或下載.txt文件?

我有一個擴展名爲.txt的文件。我注意到不同的瀏覽器行爲取決於該.txt文件的內容。如果我的文件包含字母數字字符,並將該文件的位置粘貼到(例如)Chrome的URL欄中,則該文件會在瀏覽器中打開。

如果我的文件包含"SI"字符,則該文件將下載而不是在瀏覽器中打開。

起初我以爲這可能是因爲「SI」是一個控制代碼,但是「CR」和「LF」也是控制代碼,並且當瀏覽器存在時它們會在瀏覽器中顯示。如果.txt文件中存在「DC2」字符,該文件甚至會在Chrome中打開。

我的問題是:在文件內容級別,什麼決定文件是否顯示或下載?

(我知道這可能通過瀏覽器有所不同,但如果有東西是至少在某種程度上可靠,這將有助於瞭解)

在此先感謝。

編輯(基於山姆答案):

當「SI」或「DC2」字符在文本的第一個1000個左右字符的文件就會被下載,如果這些字符是在瀏覽器中顯示文件的前1000個字符後。

回答

1

瀏覽器發送文件時的行爲將基於服務器發送的內容類型標題。如果您沒有明確設置它,您的Web服務器可能會嘗試根據文件的前幾個字節進行最佳猜測。

http://httpd.apache.org/docs/2.2/mod/mod_mime_magic.html

+0

這讓我玩的,我是有工作的文件,發現的「特」字的文件中的位置,其實事情並沒有。謝謝 – Ojen

相關問題