环境: ubuntu16.04 django 1.8.2 python 3.5
安装好fastdfs和nginx后就要开始使用django框架使用管理员账号来测试能否上传成功 先安装包 pip install py3Fdfs
导包时注意 from fdfs_client.client import Fdfs_client, get_tracker_conf 注意要导入这个函数 get_tracker_conf 是用来获取tracker的后面要用这个函数来获取我们的tracker,不能直接传入一个路径字符串 注意在重写save方法时应该返回一个字符串类型
详情可以参考这篇文章 添加链接描述
class FdfsStorage(Storage): """自定义文件上传类对象""" def _open(self, name, mode='rb'): """打开文件使用""" pass def _save(self, name, content): """保存文件使用""" # 创建一个fdfs对象 # 传入你的client.conf所在的绝对路径 client_conf = get_tracker_conf(conf_path='./utils/client.conf') clent = Fdfs_client(client_conf) res = clent.upload_by_buffer(content.read()) if res.get('Status') != 'Upload successed.': # 上传失败 raise Exception("上传文件到dfs失败") filename = res.get('Remote file_id') return filename.decode()