Mein Python
Programm sendet ein Bild an meinen Web-Server durch FTP
, aber gelegentlich bei der Ankunft sind teilweise Daten aus dem übertragenen Bild verloren. Das Programm nimmt einen Screenshot alle x
Anzahl von Sekunden und lädt dann das Bild auf den Webserver.Warum verliert mein Image Daten durch mein Python FTP-Programm?
Mein Webhosting-Anbieter denkt, es muss aus dem Python
Programm selbst stammen, also lassen Sie mich bitte wissen, was ich falsch mache, um dieses Problem zu verursachen.
Bild (Wie es aussieht, wenn sie von dem Web-Server gezogen):
Code:
def ftp(self): # Screen Grab and FTP Transfer
new = ImageGrab.grab(bbox=(0, 50, 1366, 720))
new = new.resize((1366, 700), PIL.Image.ANTIALIAS)
new.save("C:\\Users\\Owner\\Desktop\\screenshots\\capture.jpg")
newOpen = PIL.Image.open("C:\\Users\\user\\Desktop\\screenshots\\capture.jpg")
newOpen.save("C:\\Users\\Owner\\Desktop\\screenshots\\capture.jpg", format="JPEG", quality=40)
tries = 10 # Denotes maximum try limit for retry attempts
for i in range(tries):
try:
# FTP image to Web Server
session = ftplib.FTP('server', 'user', 'pass')
file = open('C:\\Users\\Owner\\Desktop\\screenshots\\capture.jpg', 'rb') # file to send
session.storbinary('STOR capture.jpg', file) # send the file
file.close() # close file and FTP
session.quit()
value = "Updated. \nFailed " + str(i) + " Times\n" + str(self.tick)
print value
self.tick += 1
except KeyError as e:
if i < tries - 1: # i is zero indexed
continue
else:
raise
break
threading.Timer(5, self.ftp).start()
Haben Sie die Größe der Datei zu überprüfen, bevor und nach dem Upload? Passen sie zusammen? –
@MartinPrikryl Kredit ist wegen Ihnen wegen Ihres Vorschlags fällig. Durch die Überwachung der Dateigröße konnte ich das Problem diagnostizieren. Danke für die Hilfe. Auch, großer Fan von Ihrer Software – jameson1128