- 论坛徽章:
- 0
|
在使用fdfs的python客户端,代码如下(test.py):- def upload_file(filePath=None,slaveFilePath=None):
- #upload the apk and the apk details html file into fastdfs storage
- #apk file as master file while html file as slave file
- if filePath is None:
- return None
- ret={}
- client=Fdfs_client('client.conf')
- result=client.upload_by_filename(filePath) #upload master file
- master_fileId=''
- if result is not None: #success
- print "mast result",result
- ret['storageIp']=result['Storage IP']
- ret['groupName']=result['Group name']
- ret['masterFileId']=result['Remote file_id']
- master_fileId=result['Remote file_id']
- if(slaveFilePath is not None): #upload slave file
- print "args for slave",slaveFilePath,master_fileId,"-html"
- try:
- slave_res=client.upload_slave_by_filename(slaveFilePath,master_fileId,"-html")
- except:
- print format_exc()
- if slave_res is not None: #success
- print "slave_res",slave_res
- ret['slaveFileId']=slave_res['Remote file_id']
- return ret #return the storage info
- if __name__=='__main__':
- result=upload_file(filePath='test.py',slaveFilePath='client.conf')
- print result
复制代码 python test.py 运行结果如下:- mast result {'Status': 'Upload successed.', 'Storage IP': '192.168.11.56', 'Remote file_id': 'group1/M00/00/00/wKgLOFZOwJWAD8OAAAAFpMMtEeU0320.py', 'Group name': 'group1', 'Local file name': 'test.py', 'Uploaded size': '1.00KB'}
- args for slave client.conf group1/M00/00/00/wKgLOFZOwJWAD8OAAAAFpMMtEeU0320.py -html
- Traceback (most recent call last):
- File "test.py", line 35, in upload_file
- slave_res=client.upload_slave_by_filename(slaveFilePath,master_fileId,"-html")
- File "/usr/lib64/python2.6/site-packages/fdfs_client/client.py", line 162, in upload_slave_by_filename
- meta_dict = None)
- File "/usr/lib64/python2.6/site-packages/fdfs_client/storage_client.py", line 289, in storage_upload_slave_by_filename
- file_ext_name)
- File "/usr/lib64/python2.6/site-packages/fdfs_client/storage_client.py", line 217, in _storage_do_upload_file
- raise DataError('[-] Error: %d, %s' % (th.status, os.strerror(th.status)))
- DataError: [-] Error: 2, No such file or directory
复制代码 查看存储服务器,发现主文件上传成功了,而从文件却没上传成功,看这报错的的意思是从文件不存在还是什么?但是要上传的从文件本地是有的。
我之前也是用的同样的代码,运行了很久都没这个问题,后来服务器重装重新配置了就出现这样的问题了。
另外如果我直接指定一个主文件id,使用upload_slave_by_filename是可以上传从文件的。这也就是说当我把上传主文件和从文件一起操作时就报错了。
有人知道怎么解决么?谢谢。 |
|