免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3005 | 回复: 2

[FastDFS] 使用fastdfs python客户端fdfs_client_py上传从文件失败 [复制链接]

论坛徽章:
0
发表于 2015-11-20 14:45 |显示全部楼层
在使用fdfs的python客户端,代码如下(test.py):
  1. def upload_file(filePath=None,slaveFilePath=None):
  2.     #upload the apk and the apk details html file into fastdfs storage
  3.     #apk file as master file while html file as slave file
  4.     if filePath is None:
  5.         return None

  6.     ret={}
  7.     client=Fdfs_client('client.conf')
  8.     result=client.upload_by_filename(filePath) #upload master file
  9.     master_fileId=''
  10.     if result is not None: #success
  11.         print "mast result",result
  12.         ret['storageIp']=result['Storage IP']
  13.         ret['groupName']=result['Group name']
  14.         ret['masterFileId']=result['Remote file_id']
  15.         master_fileId=result['Remote file_id']

  16.     if(slaveFilePath is not None): #upload slave file
  17.         print "args for slave",slaveFilePath,master_fileId,"-html"
  18.         try:
  19.             slave_res=client.upload_slave_by_filename(slaveFilePath,master_fileId,"-html")
  20.         except:
  21.             print format_exc()
  22.         if slave_res is not None: #success
  23.             print "slave_res",slave_res
  24.             ret['slaveFileId']=slave_res['Remote file_id']
  25.     return ret #return the storage info


  26. if __name__=='__main__':
  27.     result=upload_file(filePath='test.py',slaveFilePath='client.conf')
  28.     print result
复制代码
python test.py 运行结果如下:
  1. 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'}
  2. args for slave client.conf group1/M00/00/00/wKgLOFZOwJWAD8OAAAAFpMMtEeU0320.py -html
  3. Traceback (most recent call last):
  4.   File "test.py", line 35, in upload_file
  5.     slave_res=client.upload_slave_by_filename(slaveFilePath,master_fileId,"-html")
  6.   File "/usr/lib64/python2.6/site-packages/fdfs_client/client.py", line 162, in upload_slave_by_filename
  7.     meta_dict = None)
  8.   File "/usr/lib64/python2.6/site-packages/fdfs_client/storage_client.py", line 289, in storage_upload_slave_by_filename
  9.     file_ext_name)
  10.   File "/usr/lib64/python2.6/site-packages/fdfs_client/storage_client.py", line 217, in _storage_do_upload_file
  11.     raise DataError('[-] Error: %d, %s' % (th.status, os.strerror(th.status)))
  12. DataError: [-] Error: 2, No such file or directory
复制代码
查看存储服务器,发现主文件上传成功了,而从文件却没上传成功,看这报错的的意思是从文件不存在还是什么?但是要上传的从文件本地是有的。
我之前也是用的同样的代码,运行了很久都没这个问题,后来服务器重装重新配置了就出现这样的问题了。
另外如果我直接指定一个主文件id,使用upload_slave_by_filename是可以上传从文件的。这也就是说当我把上传主文件和从文件一起操作时就报错了。
有人知道怎么解决么?谢谢。

论坛徽章:
0
发表于 2015-11-20 19:57 |显示全部楼层
我在自己的Ubuntu12上配置fdfs,然后运行这份代码,主文件和从文件都能上传成功,难道是环境的问题?那是缺少什么呢?

论坛徽章:
0
发表于 2015-11-22 11:10 |显示全部楼层
没人用过吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP