本文主要介绍在Python 2.7上通过fastdfs client进行文件上传、下载、删除等操作方法。
1. 下载fastdfs client的python版本,官方地址:https://fastdfs.googlecode.com/files/fdfs_client-py-1.2.6.tar.gz
由于google的访问不稳定,我同时上传了百度的网盘,链接: https://pan.baidu.com/s/1ggn5fqV 密码: kfg8
2、
准备正确的client.conf文件,将client.conf文件按照文件服务器要求的参数进行配置即可,注意client.conf的位置,我的是在解压目录/fdfs_client-py-1.2.6/fdfs_client下(这里踩过坑,按照 http://lovesoo.org/python-fastdfs-simple-sample.html 的说法复制到/etc/fdfs下,但是使用时出错,具体可对比该链接下的示例与我的示例,我复制之后是没报错的,但是运行时出错,而且不好追溯原因 --!)
3. 安装fdfs_client-py-1.2.6
解压之后安装,setup.py所处的目录是在/fdfs_client-py-1.2.6之下,使用sudo python setup.py install命令安装
4. 参考README文档,写了简单的文件上传、下载及删除示例如下:
示例:
上传文件服务器,成功的话返回如图
from fdfs_client.client import *
client = Fdfs_client(r'/home/haitao/download/python/fdfs_client-py-1.2.6/fdfs_client/client.conf'
ret = client.up_load_bu_filename(r'/home/haitao/download/python/pythonProject/test.txt')
print ret
下载数据
删除数据
测试环境windows 7(结合spyder)
python结合fastDFS时,需要使用一个工具 fdfs_client-py-1.2.6.tar.gz
参考资源:
1) http://lovesoo.org/python-fastdfs-simple-sample.html
2) http://blog.csdn.net/linjingke32/article/details/70770104
在win 7版本上测试成功,下面介绍一下操作流程():
本文主要介绍在Python 2.7上通过fastdfs client进行文件上传、下载、删除等操作方法。
1. 下载fastdfs client的python版本,官方地址:https://fastdfs.googlecode.com/files/fdfs_client-py-1.2.6.tar.gz
2.解压之后,配置文件
2.1准备正确的client.conf文件
将client.conf文件按照文件服务器要求的参数进行配置即可,注意client.conf的位置,
2.2准备正确的setup.py
由于windows下不支持sendfile,所以在编译之前需要注释掉,不然编译时关于sendfilemodule.c会报错
2.3 windows下注释掉import sendfile(与2.2是一脉相承的)
fdfs_client-py-1.2.6\fdfs_client\storage_client.py
该文件下,注释掉第12行
3、
安装fdfs_client-py-1.2.6
打开Anaconda Prompt ,
切换到client解压后的目录下(如H:\fdfs_client-py-1.2.6\fdfs_client-py-1.2.6)
输入python setup.py install
如上图,则说明安装成功
4、测试
在Anaconda Prompt中写测试
下载数据
注意在windows下,需要使用
file_id = ret_download['Remote file_id']
file_id = file_id.replace('\\','/')#这一步是需要的,直接用返回的file_id去downfile的时候会因为地址不对而报错
删除文件
(完)
经测试发现,上面的版本上传和下载文件时大小不一致,这是一个bug。
下载了fdfs_client-windows-py1.2.8这个版本后,上传应该是成功的,下载出现异常(连接超时)。后经过仔细研究终于发现bug的存在。经修复后,下载的大小跟源文件一致,并且亲测几个模型上传下载后能正常使用 ^^
目前网上开放的资源还没有一个能成功上传和下载的,现将该版本设置为1.2.9。