通常,當我想要一個Web服務器的文本文件傳送到客戶端,這裏是我做過什麼服務從網絡服務器二進制文件,客戶端
import cgi
print "Content-Type: text/plain"
print "Content-Disposition: attachment; filename=TEST.txt"
print
filename = "C:\\TEST.TXT"
f = open(filename, 'r')
for line in f:
print line
Works爲ANSI文件非常精細。但是,比方說,我有一個二進制文件a.exe
(該文件位於Web服務器的祕密路徑中,用戶不能直接訪問該目錄路徑)。我希望使用類似的方法進行傳輸。我怎麼能這樣做?
- 我應該使用什麼內容類型?
- 使用打印似乎已損壞客戶端收到的內容。什麼是正確的方法?
我使用下面的代碼。
#!c:/Python27/python.exe -u
import cgi
print "Content-Type: application/octet-stream"
print "Content-Disposition: attachment; filename=jstock.exe"
print
filename = "C:\\jstock.exe"
f = open(filename, 'rb')
for line in f:
print line
然而,當我比較原始文件下載的文件,似乎沒有爲每個單行後多餘的空格(或更多)。
我編輯我的問題,表示有發現「B」標誌和內容類型旁邊另一個問題。 – 2010-12-23 09:18:59
@Yan看到我的編輯 – systempuntoout 2010-12-23 09:35:01