想要从网络中下载图片到本地之后从本地上传图片到FTP上的指定文件夹,但是程序总是在运行一段时间后卡住,最后经过调试输出确定问题是出在 ftp.storbinary() 这行代码,百度了很久,但是不知道为什么会卡住,也不知道怎么解决,有没有大佬知道为什么会卡住,还有怎么解决么??
下面附上代码:# 下载图片到本地, 传入图片链接 和 下载后保存的文件名
def download_img(imgurl, filename):
if imgurl:
print("-----------正在下载图片 %s" % imgurl)
try:
response = requests.get(imgurl, timeout=5)
img = response.content
with open(f'{path}/result/imgtmp/{filename}.jpg', 'wb+') as f:
f.write(img)
print('下载图片到本地成功')
return f'{path}/result/imgtmp/{filename}.jpg'
except Exception as ex:
print(ex)
return ''
# 从本地上传文件到ftp
def uploadfile(ftp, remotepath, localpath):
print(1)
bufsize = 1024 # 缓冲区大小
print(2)
fp = open(localpath, 'rb')
print(3)
ftp.storbinary('STOR ' + remotepath, fp, bufsize)
print(4)
ftp.set_debuglevel(0)
print(5)
fp.close()
# 下面是输出结果和 我加的编辑这个问题的时间
#--------2020-07-13 13:41:37-------------
#-----------正在下载图片 https://****.***/***/***.jpg
#下载图片到本地成功
#开始上传图片到 FTP
# 1
# 2
# 3
# 这是现在的时间,程序还在卡着:
#--------2020-07-13 14:27:37-------------
已经检查了图片链接没有问题,程序运行时每次卡住的地方也不一样,有时候上传一二十个图片会卡在这个地方,有时候上传四五百个图片才会卡住,完全不知道问题出在哪里(囧)