通常,当我想要一个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