按照它的文档上传文件时,代码如下:
from fdfs_client.client import *
client = Fdfs_client('tracker.conf')
ret = client.upload_by_filename('test')
print(ret)
执行时报错如下:
Traceback (most recent call last):
File "/Users/mac10.12/trying/anywhere/dd.py", line 2, in <module>
client = Fdfs_client('tracker.conf')
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mac10.12/trying/anywhere/venv/lib/python3.11/site-packages/fdfs_client/client.py", line 51, in __init__
self.tracker_pool = poolclass(**self.trackers)
^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: fdfs_client.connection.ConnectionPool() argument after ** must be a mapping, not str
解决:读取配置后,再传参get_tracker_conf('xx.conf')
修改后的代码如下:
from fdfs_client.client import *
client = Fdfs_client(get_tracker_conf('tracker.conf'))
ret = client.upload_by_filename('test')
print(ret)
这时候就不再报TypeError了,但是又报了新的错误:
Traceback (most recent call last):
File "/Users/mac10.12/trying/anywhere/dd.py", line 3, in <module>
ret = client.upload_by_filename('test')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mac10.12/trying/anywhere/venv/lib/python3.11/site-packages/fdfs_client/client.py", line 86, in upload_by_filename
store_serv = tc.tracker_query_storage_stor_without_group()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/mac10.12/trying/anywhere/venv/lib/python3.11/site-packages/fdfs_client/tracker_client.py", line 377, in tracker_query_storage_stor_without_group
raise ResponseError(errmsg)
fdfs_client.exceptions.ResponseError: [-] Error: Tracker response length is invaild, expect: 40, actual: 70