2013-03-07 22 views
0

我服務於一個來自fedora 17服務器的網站。該網站允許用戶點擊並從文件列表下載。但是,當用戶點擊下載文件時,會附加換行符(0A)。這改變了文件的md5sum。爲什麼在使用mod_python sendfile時會附加一個換行符?

HTML

<a href="download.psp?id={{obj.Id}}"/> 

PSP

<% 
import shared 

filePath = shared.getFileFromId(req, form['id']) 

req.sendfile(filePath) 
%> 

使用重定向和直接阿帕奇下載修復此問題。但我需要能夠設置內容處置文件名。

這發生在windows和linux作爲客戶端。還有Firefox和Chrome。服務器始終是fedora 17.這發生在文本文件和二進制文件。設置HTTP頭(到目前爲止)沒有幫助。

任何幫助表示讚賞。

mod_python的版本3.3.1-18
Python版本:2.7.3
httpd的版本:2.2.22-4

回答

1

你的PSP頁面正在評估,和你的換行符結束後'>'正在被髮送後sendfile的結果。你可以編輯這個文件,這樣'>'就是最後一個字符,或者把它改寫成一個普通的Python腳本。

+0

謝謝,這解決了這個問題!我實際上早就研究過這個問題,並且已經用vi檢查了我的文件。我沒有用換行符實現vi結尾文件。我使用了十六進制編輯器並刪除了換行符,一切都很順利。 – 2013-03-08 16:34:12

相關問題