本文的前提是已经启动FastDFS的tracker和storage

安装

安装提供给大家的fdfs_client-py-master.zip到虚拟环境中

pip install fdfs_client-py-master.zip

链接: https://pan.baidu.com/s/1pYO7kuoDDarYhgC1DFvcHw
提取码: gb9y

pip install fdfs_client-py-master.zip
pip install mutagen
pip isntall requests

FastDFS客户端与自定义文件存储系统-LMLPHP

FastDFS客户端与自定义文件存储系统-LMLPHP

FastDFS客户端与自定义文件存储系统-LMLPHP

使用

在进行使用之前,是需要进行相关配置文件的修改 (客户端配置文件:client.conf)
client.conf:配置文件下载路径
链接: https://pan.baidu.com/s/1gEHgmI1YquH-4HbsWZCuMg
提取码: vtug

base_path=FastDFS客户端存放日志文件的目录
tracker_server=运行tracker服务的机器ip:22122

配置文件目录

FastDFS客户端与自定义文件存储系统-LMLPHP

配置完成之后,我们在终端中,通过shell进行相关图片上传操作

上传文件需要先创建fdfs_client.client.Fdfs_client的对象,并指明配置文件,如

from fdfs_client.client import Fdfs_client
client = Fdfs_client('meiduo_mall/utils/fastdfs/client.conf')

FastDFS客户端与自定义文件存储系统-LMLPHP

通过创建的客户端对象执行上传文件的方法

client.upload_by_filename(文件名)
或
client.upload_by_buffer(文件bytes数据)

如:

>>> ret = client.upload_by_filename('/Users/delron/Desktop/1.png')
getting connection
<fdfs_client.connection.Connection object at 0x1098d4cc0>
<fdfs_client.fdfs_protol.Tracker_header object at 0x1098d4908>
>>> ret
{'Group name': 'group1', 'Remote file_id': 'group1/M00/00/02/CtM3BVr-k6SACjAIAAJctR1ennA809.png', 'Status': 'Upload successed.', 'Local file name': '/Users/delron/Desktop/1.png', 'Uploaded size': '151.00KB', 'Storage IP': '10.211.55.5'}
>>>

Remote file_id 即为FastDFS保存的文件的路径

12-23 13:46