def update(self, instance, validated_data): """更新圖片""" #建立Fastdfs客戶端 client = Fdfs_client(settings.FASTDFS_PATH) file = self.context['request'].Files.get('image') #上傳圖片 res = client.upload_by_file(file.read()) #判斷是否上傳成功 if res['Status'] != 'Upload successed.': return Response({'error': '圖片上傳失敗'}) #更新圖片 SKUImage.objects.filter(sku=instance).update(img=res['Remote file_id']) return instance
def create(self, validated_data): """新增圖片""" #建立Fastdfs客戶端 client = Fdfs_client(settings.FASTDFS_PATH) file = self.context['request'].Files.get('image') #上傳圖片 res = client.upload_by_file(file.read()) #判斷是否上傳成功 if res['Status'] != 'Upload successed.': return Response({'error': '圖片上傳失敗'}) #保存圖片 img = SKUImage.objects.create(image=res['Remote file_id'], **validated_data) return img
def upload(self, local_path): """ 将文件上传到fastdfs分布式文件系统中 :param local_path: 上传文件的本地路径 :return: """ client = Fdfs_client(self.client_config) ret = client.upload_by_file(local_path) print(ret) if ret.get("Status") != "Upload successed.": raise Exception("upload file failed") remote_file_id = ret.get("Remote file_id") print("存储在fastdfs上的文件路径:", remote_file_id) return True, remote_file_id
from fdfs_client.client import Fdfs_client if __name__ == '__main__': client = Fdfs_client('client.conf') ret = client.upload_by_file('/home/python/Desktop/1.jpg') print(ret) ''' { 'Uploaded size': '12.00KB', 'Status': 'Upload successed.', 'Storage IP': '192.168.247.128', 'Group name': 'group1', 'Local file name': '/home/python/Desktop/pic/avatar/1.jpg', 'Remote file_id': 'group1/M00/00/02/wKj3gFvaou-ACZ2EAAAwL_xHUtE202.jpg' } '''
# coding=utf-8 #通过这个类,可以向fastDFS服务器上传文件 from fdfs_client.client import Fdfs_client #根据配置文件创建客户端对象 #在配置文件中指定了tracker服务器 client = Fdfs_client('/etc/fdfs/client.conf') #上传文件 result = client.upload_by_file('01.jpg') #返回文件保存的信息,格式如下 ''' {'Local file name': '01.jpg', 'Remote file_id': 'group1/M00/00/00/wKi7hFq4XAiAc89JAAA2pLUeB60746.jpg', 'Group name': 'group1', 'Storage IP': '192.168.187.132', 'Uploaded size': '13.00KB', 'Status': 'Upload successed.'} ''' print(result)
# coding=utf-8 from fdfs_client.client import Fdfs_client from django.conf import settings #根据配置文件,创建fdfs的客户端,通过这个对象上传文件到fdfs client = Fdfs_client(conf_path='/etc/fdfs/client.conf') #调用方法上传文件 result = client.upload_by_file('/home/python/Desktop/images/adv01.jpg') print(result) ''' {'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/wKi7hVrX_OuAOfX6AAA2pLUeB60110.jpg', 'Uploaded size': '13.00KB', 'Status': 'Upload successed.', 'Local file name': '/home/python/Desktop/images/adv01.jpg', 'Storage IP': '192.168.187.133'} '''
#!-*-coding:utf-8-*- # !@Date: 2018/11/1 20:00 # !@Author: Liu Rui # !@github: bigfoolliu """ 示例程序,来展示如何上传文件 """ from fdfs_client.client import Fdfs_client if __name__ == '__main__': # 指定一个Fdfs客户端对象,并指定配置文件 client = Fdfs_client('client.conf') # 上传文件(会返回文件名) ret = client.upload_by_file('1.PNG') print(ret) """ 正确结果: { 'Uploaded size': '12.00KB', 'Status': 'Upload successed.', 'Storage IP': '192.168.247.128', 'Group name': 'group1', 'Local file name': '/home/python/Desktop/pic/avatar/1.jpg', 'Remote file_id': 'group1/M00/00/02/wKj3gFvaou-ACZ2EAAAwL_xHUtE202.jpg' } """
from fdfs_client.client import Fdfs_client if __name__ == '__main__': client = Fdfs_client('client.conf') ret = client.upload_by_file('/home/python/Pictures/Wallpapers/1.jpg') print(ret)
from fdfs_client.client import Fdfs_client if __name__ == '__main__': client = Fdfs_client('client.conf') ret = client.upload_by_file('/home/python/Desktop/图片验证码思路.png') print(ret) ''' { 'Uploaded size': '12.00KB', 'Status': 'Upload successed.', 'Storage IP': '192.168.247.128', 'Group name': 'group1', 'Local file name': '/home/python/Desktop/pic/avatar/1.jpg', 'Remote file_id': 'group1/M00/00/02/wKj3gFvaou-ACZ2EAAAwL_xHUtE202.jpg' } '''