FDFS客户机上传文件

    科技2025-06-14  14

    通过Docker安装了FastDFS并且开启了tracker容器以及storage容器

    1.安装FastDFS客户端扩展

    可以在ubuntu中以及windows中安装

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

    windows安装报错: error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualstudio.microsoft.com/downloads/

    解决办法:

    1.解压后的fdfs_client-py-master\fdfs_client 目录下的storage_client.py屏蔽第12行 # from fdfs_client.sendfile import *

    1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # filename: storage_cliet.py 4 5 import os, stat 6 import struct 7 import socket 8 import datetime 9 import errno 10 from fdfs_client.fdfs_protol import * 11 from fdfs_client.connection import * 12 # from fdfs_client.sendfile import * 屏蔽我~ 13 from fdfs_client.exceptions import ( 14 FDFSError, 15 ConnectionError, 16 ResponseError, 17 InvaildResponse, 18 DataError 19 )

    2.解压后的fdfs_client-py-master 目录下的setup.py屏蔽sdict字典中的 ‘ext_modules’

    sdict = { 'name': 'fdfs_client-py', 'version': __version__, 'description': 'Python client for Fastdfs ver 4.06', 'long_description': long_description, 'author': 'scott yuan', 'author_email': 'scottzer8@gmail.com', 'maintainer': 'scott yuan', 'maintainer_email': 'scottzer8@gmail.com', 'keywords': ['Fastdfs', 'Distribute File System'], 'license': 'GPLV3', 'packages': ['fdfs_client'], 'classifiers': [ 'Development Status :: 1 - Production/Beta', 'Environment :: Console', 'Intended Audience :: Developers', 'License :: GPLV3', 'Operating System :: OS Independent', 'Programming Language :: Python'], # 'ext_modules': [Extension('fdfs_client.sendfile',         屏蔽我~       # sources=['fdfs_client/sendfilemodule.c'])], 屏蔽我~ }

    压缩之后使用命令安装 pip install fdfs_client-py-master.zip

    2. 准备FastDFS客户端扩展的配置文件

    utils.fastdfs.client.conf

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

    3.FastDFS客户端实现文件存储

    使用 shell 进入 Python交互环境 python manage.py shell

    导入FastDFS客户端扩展 from fdfs_client.client import Fdfs_client

    报错解决办法:找到utils.py修改

    创建FastDFS客户端实例 client = Fdfs_client(‘utils/fastdfs/client.conf’)调用FastDFS客户端上传文件方法 ret = client.upload_by_filename(‘D:/test.jpg’)

    ret = { ‘Group name’: ‘Storage组名’, ‘Remote file_id’: ‘文件索引,可用于下载’, ‘Status’: ‘文件上传结果反馈’, ‘Local file name’: ‘上传文件全路径’, ‘Uploaded size’: ‘文件大小’, ‘Storage IP’: ‘Storage地址’ }

    之后在ubuntu中查看

    Processed: 0.014, SQL: 8