Dienen binäre Datei, die vom Webserver an den client

In der Regel, wenn ich will, zu übertragen, eine web-server-text-Datei zu client, hier ist was ich getan habe

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

Funktioniert sehr gut für ANSI-Datei. Jedoch, sagen wir, ich habe eine binäre Datei a.exe (Diese Datei ist im web-server-Geheimnis-Pfad, und der user hat keinen direkten Zugriff auf die Verzeichnis-Pfad). Möchte ich verwenden eine ähnliche Methode für die übertragung. Wie kann ich das tun?

  • Welcher content-Typ sollte ich verwenden?
  • Mit print zu haben scheint beschädigt Inhalt erhielt auf der client-Seite. Was ist die richtige Methode?

Ich den folgenden code verwenden.

#!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

Allerdings, wenn ich vergleichen Sie die heruntergeladene Datei mit der Originaldatei, es scheint, es ist ein extra Leerzeichen (oder mehr) für die nach jeder einzelnen Zeile.

Dienen binäre Datei, die vom Webserver an den client

Schreibe einen Kommentar