This commit is contained in:
Lt.Dr.Data 2023-04-21 15:18:06 +09:00
parent 10f17f97a6
commit e09f42bb18
2 changed files with 44 additions and 0 deletions

View File

@ -7,6 +7,8 @@ import execution
import uuid import uuid
import json import json
import glob import glob
from PIL import Image
try: try:
import aiohttp import aiohttp
from aiohttp import web from aiohttp import web
@ -147,6 +149,47 @@ class PromptServer():
else: else:
return web.Response(status=400) return web.Response(status=400)
@routes.post("/upload/mask")
async def upload_mask(request):
post = await request.post()
image = post.get("image")
original_image = post.get("original_image")
if post.get("type") is None:
upload_dir = folder_paths.get_input_directory()
elif post.get("type") == "input":
upload_dir = folder_paths.get_input_directory()
elif post.get("type") == "temp":
upload_dir = folder_paths.get_temp_directory()
elif post.get("type") == "output":
upload_dir = folder_paths.get_output_directory()
if not os.path.exists(upload_dir):
os.makedirs(upload_dir)
if image and image.file:
filename = image.filename
if not filename:
return web.Response(status=400)
split = os.path.splitext(filename)
i = 1
while os.path.exists(os.path.join(upload_dir, filename)):
filename = f"{split[0]} ({i}){split[1]}"
i += 1
filepath = os.path.join(upload_dir, filename)
original_pil = Image.open(original_image)
mask_pil = Image.open(image.file)
alpha_channel = mask_pil.getchannel('A')
original_pil.putalpha(alpha_channel, (0, 0))
original_pil.save(filepath)
return web.json_response({"name": filename})
else:
return web.Response(status=400)
@routes.get("/view") @routes.get("/view")
async def view_image(request): async def view_image(request):

View File

@ -117,6 +117,7 @@ class ClipspaceDialog extends ComfyDialog {
} }
formData.append('image', blob, filename); formData.append('image', blob, filename);
formData.append('original-imagepath', ComfyApp.clipspace.);
formData.append('type', "temp"); formData.append('type', "temp");
invalidateImage(item, formData); invalidateImage(item, formData);
this.close(); this.close();