微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Python ftplib 将内存中的 numpy 图像数组上传到 FTP 服务器会导致一个空文件

如何解决使用 Python ftplib 将内存中的 numpy 图像数组上传到 FTP 服务器会导致一个空文件

需要帮助将 numpy 数组图像上传到 FTP 服务器。 我已经阅读了一些关于将文件保存在临时文件主题,但我已经尝试过但没有工作;(

import ftplib
from PIL import Image
from io import BytesIO
import numpy as np

data = np.random.random((100,100))
npArray_image = (255.0 / data.max() * (data - data.min())).astype(np.uint8)

img = Image.fromarray(npArray_image.astype('uint8'))
temp = BytesIO()
img.save(temp,format="PNG")

ftp = ftplib.FTP('ftp.server','user','pass')
ftp.storbinary('STOR /public_html/imgs/test.png',temp)

我收到消息

226 文件传输成功

但是上传文件是空的。

解决方法

在尝试上传缓冲区之前,您必须寻找缓冲区的读取指针回到开头:

temp.seek(0)
ftp.storbinary('STOR /public_html/imgs/test.png',temp)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。