| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import base64
- from io import BytesIO
- from PIL import Image, features
- import pillow_avif
- import requests
- def image_to_base(image_path):
- with open(image_path, 'rb') as image_file:
- image_base = base64.b64encode(image_file.read()).decode('utf-8')
- return image_base
- def pil_image_to_base64(image, format="JPEG"):
- """将图像转换为Base64的编码字符串"""
- buffered = BytesIO()
- image.save(buffered, format=format)
- return base64.b64encode(buffered.getvalue()).decode("utf-8")
- def load_image_from_url(image_url):
- """根据url加载图像"""
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36",
- "Referer": "https://www.aliexpress.com/",
- "Accept-Language": "en-US,en;q=0.9",
- }
- response = requests.get(image_url, headers=headers)
- image = Image.open(BytesIO(response.content))
- return image
- def load_image_from_cos(cos_url):
- """下载腾讯云COS的AVIF文件,并转换为可处理的图像数据"""
- try:
- response = requests.get(cos_url)
- response.raise_for_status() # 检查请求是否成功
-
- img = Image.open(BytesIO(response.content))
- return img
- except requests.exceptions.RequestException as e:
- raise requests.exceptions.RequestException(f"下载失败:{e}")
- except Exception as e:
- raise ValueError(f"解析AVIF失败:{e}")
-
- if __name__ == "__main__":
- # url = 'https://img.alicdn.com/imgextra/i1/2212526294503/O1CN01P0qxZL1j8QU5cC4ed_!!2212526294503.jpg_q75.jpg_.webp'
- # image = load_image_from_url(url)
- # image.save('./product.png') # 保存为PNG
-
- cos_url = "https://dev-govern-private-1251740668.cos.ap-guangzhou.myqcloud.com/private/20250723/b9c411c4c2514367afc4dd4ad199eb0d.webp?q-sign-algorithm=sha1&q-ak=AKIDIWXN4kqgpiMm0z4T5VgcKn4KSP8cZwnO&q-sign-time=1753320960%3B1753328160&q-key-time=1753320960%3B1753328160&q-header-list=host&q-url-param-list=&q-signature=f6223c1353c1c97c8e42355625dec94967c9c2f6"
- image = load_image_from_cos(cos_url)
- image.save('./product.png')
|