Files
MajoorWaldi-ComfyUI-Majoor-…/js/features/dnd/utils/syntheticFile.js
T
2026-01-08 02:21:14 +01:00

32 lines
873 B
JavaScript

export const fetchFileAsDataTransferFile = async (payload, buildURL) => {
if (!payload?.filename) return null;
const url = buildURL(payload);
try {
const res = await fetch(url);
if (!res.ok) return null;
const blob = await res.blob();
const name = payload.filename || "file";
return new File([blob], name, { type: blob.type || "application/octet-stream" });
} catch {
return null;
}
};
export const dispatchSyntheticDrop = (target, file) => {
if (!target || !file) return false;
try {
const dt = new DataTransfer();
dt.items.add(file);
const evt = new DragEvent("drop", {
bubbles: true,
cancelable: true,
dataTransfer: dt
});
target.dispatchEvent(evt);
return true;
} catch {
return false;
}
};