添加七牛云默认配置获取

This commit is contained in:
xie junchen
2025-05-24 11:52:11 +08:00
parent c82f9806ef
commit 0e4e218ccd
+27 -29
View File
@@ -1,10 +1,21 @@
import qiniu
import os
from qiniu import Auth, put_data
import io
from PIL import Image
import numpy as np
import uuid
import json
QINIU_CONFIG_PATH = os.path.join(os.path.dirname(__file__), "qiniu_config.json")
def load_qiniu_config():
if os.path.exists(QINIU_CONFIG_PATH):
with open(QINIU_CONFIG_PATH, "r", encoding="utf-8") as f:
return json.load(f)
return None
# 初始化全局缓存
QINIU_CONFIG = load_qiniu_config()
class QiniuUploader:
def __init__(self, access_key: str, secret_key: str, bucket_name: str, domain: str):
@@ -44,12 +55,20 @@ class QiniuImageUploadNode:
"""
@classmethod
def INPUT_TYPES(cls):
# 自动填充默认值,确保 config 始终有值
config = load_qiniu_config() or {
"access_key": "",
"secret_key": "",
"bucket_name": "",
"domain": ""
}
return {
"required": {
"access_key": ("STRING", {"default": ""}),
"secret_key": ("STRING", {"default": ""}),
"bucket_name": ("STRING", {"default": ""}),
"domain": ("STRING", {"default": ""}),
"access_key": ("STRING", {"default": config["access_key"]}),
"secret_key": ("STRING", {"default": config["secret_key"]}),
"bucket_name": ("STRING", {"default": config["bucket_name"]}),
"domain": ("STRING", {"default": config["domain"]}),
"images": ("IMAGE", ),
"key_prefix": ("STRING", {"default": "comfyui_"}),
"format": (["PNG", "JPEG"], {"default": "PNG"}),
@@ -63,6 +82,7 @@ class QiniuImageUploadNode:
OUTPUT_NODE = True
def upload_images(self, access_key, secret_key, bucket_name, domain, images, key_prefix, format):
# 优先用传参,否则用全局缓存
uploader = QiniuUploader(access_key, secret_key, bucket_name, domain)
urls = []
arr = images.cpu().numpy() if hasattr(images, 'cpu') else images
@@ -78,31 +98,9 @@ class QiniuImageUploadNode:
urls.append(str(url))
return (urls,)
class ShowUrlsNode:
"""
展示图片外链地址节点
"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"urls": ("LIST_STR", ),
}
}
RETURN_TYPES = ("LIST_STR",)
RETURN_NAMES = ("urls",)
FUNCTION = "show"
CATEGORY = "展示/调试"
OUTPUT_NODE = True
def show(self, urls):
# 直接返回输入,便于在 ComfyUI history API 查询
return (urls,)
NODE_CLASS_MAPPINGS = {
"QiniuImageUploadNode": QiniuImageUploadNode,
"QiniuImageUploadNode": QiniuImageUploadNode
}
NODE_DISPLAY_NAME_MAPPINGS = {
"QiniuImageUploadNode": "☁️ 七牛云图片上传 (IMAGE)",
"QiniuImageUploadNode": "☁️ 七牛云图片上传 (IMAGE)"
}