我为学校项目创建了一个.tiff图像生成器,它在我的电脑上工作得很好!
此生成器现在位于ftp服务器上,它生成.tiff,并将其保存在ftp上以便能够下载.. 但它不起作用。当用户点击指定的按钮时,我用函数php exec()或system()调用我的python脚本"生成" 你知道如何用我的python脚本在ftp服务器上保存我的img .tiff吗?
感谢您的回答,对不起我的英语,我是法国人。
img = Image.fromarray(data, 'CMYK') #Make image from matrix
ftp = FTP('wbe-site', 'Identifiant', 'Password') #it's changed in my
code
etat = ftp.getwelcome()
print("Etat : ", etat)
f = open(img, 'rb') # Open the image
ftp.storbinary('STOR carte.tiff', f) #Save file on FTP
f.close() # Close the file
ftp.quit()
答案 0 :(得分:2)
如果您使用ftplib,则可以使用以下代码:
import ftplib
session = ftplib.FTP('server.address.com','USERNAME','PASSWORD')
file = open('kitten.jpg','rb') # file to send
session.storbinary('STOR kitten.jpg', file) # send the file
file.close() # close file and FTP
session.quit()
您正在打开图像,而不是给open函数一个字符串。
答案 1 :(得分:0)
在通过堆栈溢出和互联网耗尽了所有答案之后,我终于明白了。在将其发布到ftp之前,您必须对img之类的数组进行buff,并将缓冲区传递给IO之类的文件。
des_ftp = ftplib.FTP()
des_ftp.cwd(DES_DIR)
_, buffer = cv2.imencode('.JPG', img)
io_buf = io.BytesIO(buffer)
des_ftp.storbinary('STOR '+img_name, io_buf)
为我工作。