|
@@ -0,0 +1,82 @@
|
|
|
+from qiniu import Auth, put_file
|
|
|
+
|
|
|
+
|
|
|
+class Qiniu(object):
|
|
|
+ def __init__(self, time_out=1000, headers=None):
|
|
|
+ """
|
|
|
+ :param time_out: 超时时间
|
|
|
+ :param headers: 请求头
|
|
|
+ """
|
|
|
+ self.q = Auth('wbHIPhUGq75tabnHbIpWCVvBC7c3Yt6pGG46eBZ2', 'VDb3Fhh-6LX9djR4UiXNZx7Xwk4S79fC87Kpwn-x')
|
|
|
+ self.time_out = time_out
|
|
|
+ self.headers = headers
|
|
|
+
|
|
|
+ def up_file(self, file_path, file_name):
|
|
|
+ """
|
|
|
+ 七牛云上传媒体文件
|
|
|
+ :param content: 图片字节流数据
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ # 上传到七牛后保存的文件名uuid4+后缀 拼接url
|
|
|
+ # file_path = f"{uuid.uuid4()}.jpg"
|
|
|
+ file_name = 'jianyexcx/{}'.format(file_name)
|
|
|
+ token = self.q.upload_token('image', file_name, 3600) # 3600指的是token的过期时间
|
|
|
+ ret, info = put_file(token, file_name, file_path)
|
|
|
+ if ret:
|
|
|
+ # 上传成功返回地址
|
|
|
+ # print('https://dm.static.elab-plus.com/{}'.format(file_name))
|
|
|
+ return ret.get('key')
|
|
|
+ else:
|
|
|
+ print("上传失败")
|
|
|
+ return None
|
|
|
+ except Exception as e:
|
|
|
+ # 上传失败返回None
|
|
|
+ print("上传GG", e)
|
|
|
+ return None
|
|
|
+
|
|
|
+ def list_dir(self, text_list, dir_path):
|
|
|
+ dir_files = os.listdir(dir_path) # 得到该文件夹下所有的文件
|
|
|
+ for file in dir_files:
|
|
|
+ file_path = os.path.join(dir_path, file) # 路径拼接成绝对路径
|
|
|
+ print(file_path)
|
|
|
+ if os.path.isfile(file_path): # 如果是文件,就打印这个文件路径
|
|
|
+ if file_path.endswith(".jpg"):
|
|
|
+ text_list.append(file_path)
|
|
|
+ if os.path.isdir(file_path): # 如果目录,就递归子目录
|
|
|
+ self.list_dir(text_list, file_path)
|
|
|
+ return text_list
|
|
|
+
|
|
|
+ def image_house(self, file_path):
|
|
|
+ header = {'image_name', 'image_url'}
|
|
|
+ file_list = self.list_dir([], file_path)
|
|
|
+ excel_data = []
|
|
|
+ for file in file_list:
|
|
|
+ (path, filename) = os.path.split(file)
|
|
|
+ hosue_name = filename.split('.')[0]
|
|
|
+ image_url = self.up_file(file, filename)
|
|
|
+ excel_data.append([hosue_name, image_url])
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ import os
|
|
|
+ from file_util import FileUtil
|
|
|
+ qiniu = Qiniu()
|
|
|
+ file_path = r'E:\elab\建业小程序升级\10408'
|
|
|
+ files_list = []
|
|
|
+ files = FileUtil.load_file(file_path)
|
|
|
+ # qiniu.image_house(file_path)
|
|
|
+ sql_1 = 'insert into t_house_image (house_id, image_url, image_type, status, creator, created) values({}, "{}", "{}", 1, "binren", now());'
|
|
|
+ sql_2 = 'update t_house_image set image_url = "{}" where house_id = {} and image_type = "{}";'
|
|
|
+ sql_3 = 'delete from t_house_image where house_id = {} and image_type = "{}";'
|
|
|
+ ids = []
|
|
|
+ for file in files:
|
|
|
+ file_name = os.path.split(file)[1].split('.')[0]
|
|
|
+ name_info = file_name.split('_')
|
|
|
+ house_id = int(name_info[0])
|
|
|
+ image_type = name_info[1]
|
|
|
+ # if house_id not in ids:
|
|
|
+ # ids.append(house_id)
|
|
|
+ url = qiniu.up_file(file, file_name)
|
|
|
+ print(sql_3.format(house_id, image_type))
|
|
|
+ print(sql_1.format(house_id, 'https://dm.static.elab-plus.com/{}'.format(url), image_type))
|