私のPython
プログラムは、FTP
で画像をWebサーバーに送信しますが、到着時に転送された画像から部分データが失われることがあります。プログラムは、毎秒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あなたのご提案のおかげで、あなたにクレジットがあります。ファイルサイズを監視することで、問題を診断できました。助けてくれてありがとう。また、あなたのソフトウェアの巨大なファン – jameson1128