feat: add support for gif upload

This commit is contained in:
BennyKok 2024-01-11 23:14:06 +08:00
parent e65fa70503
commit fce77b905c
4 changed files with 14 additions and 5 deletions

View File

@ -34,7 +34,7 @@ class ComfyUIDeployExternalImage:
print("Fetching image from url: ", input_id)
response = requests.get(input_id)
image = Image.open(BytesIO(response.content))
elif input_id.startswith('data:image/png;base64,'):
elif input_id.startswith('data:image/png;base64,') or input_id.startswith('data:image/jpeg;base64,') or input_id.startswith('data:image/jpg;base64,'):
import base64
from io import BytesIO
print("Decoding base64 image")

View File

@ -34,7 +34,7 @@ class ComfyUIDeployExternalImageAlpha:
print("Fetching image from url: ", input_id)
response = requests.get(input_id)
image = Image.open(BytesIO(response.content))
elif input_id.startswith('data:image/png;base64,'):
elif input_id.startswith('data:image/png;base64,') or input_id.startswith('data:image/jpeg;base64,') or input_id.startswith('data:image/jpg;base64,'):
import base64
from io import BytesIO
print("Decoding base64 image")

View File

@ -376,7 +376,7 @@ async def update_run_with_output(prompt_id, data, node_id=None):
}
try:
have_upload = 'images' in data or 'files' in data
have_upload = 'images' in data or 'files' in data or 'gifs' in data
print("\nhave_upload", have_upload, node_id)
@ -390,6 +390,10 @@ async def update_run_with_output(prompt_id, data, node_id=None):
files = data.get('files', [])
for file in files:
await upload_file(prompt_id, file.get("filename"), subfolder=file.get("subfolder"), type=file.get("type"), content_type=file.get("content_type", "image/png"))
gifs = data.get('gifs', [])
for gif in gifs:
await upload_file(prompt_id, file.get("filename"), subfolder=file.get("subfolder"), type=file.get("type"), content_type=file.get("format", "image/gif"))
if have_upload:
await update_file_status(prompt_id, data, False, node_id=node_id)

View File

@ -5,7 +5,12 @@ export async function OutputRender(props: {
run_id: string;
filename: string;
}) {
if (props.filename.endsWith(".png")) {
if (
props.filename.endsWith(".png") ||
props.filename.endsWith(".gif") ||
props.filename.endsWith(".jpg") ||
props.filename.endsWith(".jpeg")
) {
const url = await getFileDownloadUrl(
`outputs/runs/${props.run_id}/${props.filename}`
);
@ -15,7 +20,7 @@ export async function OutputRender(props: {
const url = await getFileDownloadUrl(
`outputs/runs/${props.run_id}/${props.filename}`
);
console.log(url);
// console.log(url);
return <DownloadButton filename={props.filename} href={url} />;
}