You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import os
import oss2
import requests
# 填写RAM用户的访问密钥AccessKey ID和AccessKey Secret
accessKeyId = 'LTAI5tE4tgpGcKWhbZg6C4bh'
accessKeySecret = 'oizcTOZ8izbGUouboC00RcmGE8vBQ1'
# endpoint填写Bucket所在地域对应的Endpoint。以华东1杭州为例Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
endpoint = 'http://oss-cn-beijing.aliyuncs.com'
# 填写Bucket名称。
bucketName = 'hzkc'
# 使用代码嵌入的RAM用户的访问密钥配置访问凭证。
auth = oss2.Auth(accessKeyId, accessKeySecret)
bucket = oss2.Bucket(auth, endpoint, bucketName)
# 遍历 Images/Upload前缀下所有文件
# 指定前缀
prefix = 'Images/Upload/'
# 获取图片宽高
def down_small_img(v_url, directory):
v_url = v_url.replace("https://hzkc.oss-cn-beijing.aliyuncs.com", 'http://image.hzkjai.com')
t_url = v_url + '?x-oss-process=image/info'
# 发送GET请求
response = requests.get(t_url)
# 解析JSON数据
data = response.json()
width = data['ImageWidth']['value']
height = data['ImageHeight']['value']
action = 'w'
if width < height:
action = 'h'
if int(width) > 1024 or int(height) > 1024:
t_url = v_url + '?x-oss-process=image/resize,' + action + '_1024,limit_0'
else:
t_url = v_url
# 从URL中提取文件名
filename = v_url.split('/')[-1]
# windows版本的wget
os.system('wget ' + t_url + ' -O ' + directory + '/' + filename)
if __name__ == '__main__':
Directory = r'D:\backup\Temp'
# 使用ObjectIterator查找具有指定前缀的对象
for obj in oss2.ObjectIterator(bucket, prefix=prefix):
oss_file_path = obj.key
if '.' not in oss_file_path:
continue
img_url = "http://hzkc.oss-cn-beijing.aliyuncs.com/" + obj.key
down_small_img(img_url, Directory)