2011-01-23 94 views
1

我有一個web應用程序,它對.ssa文件(基本上是SubStation Alpha - 字幕文件)執行字符編碼轉換。這些文件的MIME類型是text/plain。當應用程序執行轉換時,它會創建一個鏈接來下載新文件。在Safari中,這完美地工作。但是,在Chrome中,當您點擊下載鏈接時,無論文件名是什麼,它都會嘗試將該文件保存爲download.txt。在Firefox(beta)中,它會嘗試將其保存爲kP3844h1.txt.part之類的內容。我怎麼才能告訴這些瀏覽器只是使用鏈接的文件名?在所有情況下,文件的內容都是正確的,它只是瀏覽器的「另存爲...」對話框中的名稱而已。.htaccess .SSA文件的配置

目前我的.htaccess的樣子:

AddType text/plain ssa 
<Files *.ssa> 
    #ForceType application/octet-stream 
    Header set Content-Disposition attachment 
</Files> 

我與兩個<Files>行註釋掉的嘗試,並與任一談到自己的,但沒有這些選項給我的解決方案我尋找。

此外,該應用程序是用PHP編寫的,所以如果有什麼我可以在PHP代碼中做而不是搞亂.htaccess,我願意接受建議。

回答

1

使用Content-Disposition attachment; filename="$actual_filename.txt"作爲標題。將$actual_filename.txt替換爲文件的實際名稱。我不知道這是否可以在Apache配置中使用,但是如果您通過PHP傳輸文件,您可能可以使用header函數設置標題。

+1

太棒了!這正是我需要的,它讓我完全消除了.htaccess。謝謝。 – ggutenberg 2011-01-23 19:52:27