问题描述
需要帮助将 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)