我的Python
程序通過FTP
向我的網絡服務器發送圖像,但偶爾會在到達時從傳輸的圖像中丟失部分數據。該程序每隔x
秒截圖,然後將圖像上傳到Web服務器。爲什麼我的圖像通過我的Python FTP程序丟失數據?
我的虛擬主機提供商認爲它必須來自Python
程序本身,所以請讓我知道我在做什麼錯誤導致此問題。
代碼:
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()
你以前和上傳後檢查文件的大小?他們匹配嗎? –
@MartinPrikryl Credit是因爲你的建議。通過監控文件大小,我能夠診斷問題。感謝您的幫助。此外,你的軟件的巨大粉絲 – jameson1128