关于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(),就可以正常获取上传了.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM