Обычно, когда я хочу передать клиенту текстовый файл веб-сервера, я сделал следующее
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
Прекрасно работает с файлом ANSI. Однако, скажем, у меня есть двоичный файл a.exe
(этот файл находится в секретном пути веб-сервера, и у пользователя не будет прямого доступа к этому пути к каталогу). Я хочу использовать аналогичный метод для передачи. Как я могу это сделать?
Я использую следующий код.
#!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
Однако, когда я сравниваю загруженный файл с исходным файлом, мне кажется, что после каждой отдельной строки есть лишний пробел (или больше).