我正在上载到FTP服务器:
chunks = math.ceil(size / BUFFER_SIZE)
print('SFPTField: Uploading stream of length %s, chunks %d' % (size, chunks))
for i in range(chunks):
print('SFTPField: Writing chunk %d...' % (i + 1))
b = buffer.read(BUFFER_SIZE)
if len(b) == 0:
break
sftp_file.write(b)
print('SFTPField: DONE for chunk %d...' % (i + 1))
sftp_file.flush()
sftp_file.close()
缓冲区大小设置为1024。上传在块31期间无限挂起。通常只有一半的jpg图片被上传(也就是说,每个图片的上半部分)。在
这是pysftp中报告的bug吗?如何解决?在
我在32767(2^15-1)左右看到了一些限制。我怀疑
sftp_file_write
正在缓冲发送的数据包,直到它填充了一个内部缓冲区,然后尝试一次发送所有数据包。在尝试在循环中的每个
write()
(在循环中)之后添加一个flush()
。在谢谢jcopens。我找到了一个解决方案(多亏了StackOverflow上的另一个人)。在
到目前为止对我来说还不错。在
相关问题 更多 >
编程相关推荐