在搭建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(),就可以正常獲取上傳了.
