fastdfs python客户端fdfs_client_py使用问题
来源:互联网 发布:pano2vr软件视频教程 编辑:程序博客网 时间:2024/05/22 06:40
刚刚在使用fdfs分布式存储的python客户端上传从文件时,出现下面这个问题
使用环境为:python版本:python 2.6.6
fdfs 版本:5.05
服务器操作系统:centos
fdfs_client_py版本:1.2.6
fdfs_client_py版本的github地址为:https://github.com/hay86/fdfs_client-py
上传文件时出现如下问题:
raise DataError('[-] Error:%d,s'%(th.status,os.strerror(th.status)))
DataEoor:[-] Error:2,No such file or directory
根据提示,可以知道是从文件上传失败,说没有这个文件或目录,但是明明我的本地有这个从文件。
我将 python版本换成2.7.3也没用
将fdfs_client_py换成最新版也还是没用
但是我直接使用它的源码下的测试程序却上传主文件和从文件都没问题,如下所示:
难道是我的上传代码写的有问题,我是这样写的:
def upload_file(self,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(self.m_clientConf) result=client.upload_by_filename(filePath) #upload master file master_fileId='' if result is not None: #success self.m_logger.info(" save %s into fdfs success"%filePath) print " save %s into fdfs success"%filePath print result ret['storageIp']=result['Storage IP'] ret['groupName']=result['Group name'] ret['masterFileId']=result['Remote file_id'] master_fileId=result['Remote file_id'] print slaveFilePath,master_fileId if(slaveFilePath is not None): #upload slave file slave_res=client.upload_slave_by_filename(slaveFilePath,master_fileId,'-html') if slave_res is not None: #success self.m_logger.info(" save slave %s into fdfs success"%slaveFilePath) ret['slaveFileId']=slave_res['Remote file_id'] return ret #return the storage info
但是当我改为如下,即直接指定主文件id ,又可以上传从文件了,当然这个主文件id必须存在
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 ret['storageIp']=result['Storage IP'] ret['groupName']=result['Group name'] ret['masterFileId']=result['Remote file_id'] master_fileId=result['Remote file_id'] print 'ret',ret ''' if(slaveFilePath is not None): #upload slave file file_prefix='-html' slave_res=client.upload_slave_by_filename(slaveFilePath,"group1/M00/00/00/wKgLNFZMJQqAMZd1AAAFDeT7vec1033.py",file_prefix) if slave_res is not None: #success ret['slaveFileId']=slave_res['Remote file_id'] return ret #return the storage info
这是什么情况,难道我上传主文件时返回的主文件id是错的吗?
于是我把服务器上的python重装成2.7,3的,结果再导入这个fdfs_client的包时提示:
ImportError: No module named sendfile
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上面的问题还没有解决,等解决了再更新
- fastdfs python客户端fdfs_client_py使用问题
- FastDFS客户端(Python版)指南
- FastDFS之java客户端使用
- 品味FastDFS~第二回 FastDFS客户端的使用
- FastDFS分布文件系统Java客户端使用
- FastDFS分布文件系统Java客户端使用
- FastDFS分布文件系统Java客户端使用
- 使用FastDFS遇到问题记录
- 【FastDFS分布式文件系统之二】:FastDFS小文件上传性能测试及Python客户端上传操作
- fastdfs 图片服务器 使用java端作为客户端上传图片 / 【FastDFS专题】fastdfs使用实战(概念篇)
- 使用FastDFS遇到问题记录(转)
- Java fastdfs 防盗链使用问题笔记
- fastdfs使用nginx出现的问题
- 使用java客户端操作fastdfs进行文件上传删除
- FastDFS Java客户端配置
- fastdfs文件服务器-客户端实现
- FastDFS客户端协议
- FastDFS(2)java客户端
- Unity Shader 剔除黑色背景
- sqlnet.ora configuration for toad
- 使用SizeClass
- MySQL:触发器
- Altium Designer10.1051图文安装教程
- fastdfs python客户端fdfs_client_py使用问题
- char*与System::String^的相互转换
- [NOIp 2015] 对D1T2的一些拓展研究
- MySQL:用户管理
- MySQL:数据备份与还原
- MySQL:MySQL日志
- mac os x使用Git简易入门教程
- MySQL:性能优化
- java 中文 乱码 读写