关于Python获取图片文件二进制数据的问题(获取为空)

在搭建fastdfs文件系统的时候遇到了点问题,在测试上传文件数据流的时候,需要Python来获取本地文件的二进制流

1 from fdfs_client.client import Fdfs_client
2 
3 fdfs = Fdfs_client('utils/fastdfs/client.conf')
4 f = open('statics/a.png', 'rb') 
5 ret = fdfs.upload_by_buffer(f.read(), 'png')

很少操作文件,但是记得这样是可以获得文件二进制格式数据的,不过fdfs却报错说参数不能为空

后来找到原因,因为开始我忘了打开docker的fastfds服务了,导致第一次读取上传操作失败,然后打开服务后就执行了第二次上传.

文件读取操作read()会在读取文件后把光标放在文件末尾,再之后读取将永远为空(除非重新打开重新读)

所以重新执行了一遍open(),就可以正常获取上传了.

猜你喜欢

转载自www.cnblogs.com/haiton/p/12090181.html
今日推荐