diff --git a/web/src/app/admin/atp-models/page.tsx b/web/src/app/admin/atp-models/page.tsx index cfce7c9..104b2b2 100644 --- a/web/src/app/admin/atp-models/page.tsx +++ b/web/src/app/admin/atp-models/page.tsx @@ -238,9 +238,14 @@ export default function AtpModelsPage() { if (values.files.length > 0) { const formData = new FormData(); + const JSZip = (await import("jszip")).default; + const zip = new JSZip(); for (const file of values.files) { - formData.append("files", file); + const path = (file as any).webkitRelativePath || file.name; + zip.file(path, file); } + const zipBlob = await zip.generateAsync({ type: "blob" }); + formData.append("files", zipBlob, "model.zip"); const uploadResponse = await fetchWithAuth( `/api/v1/atp/assets/${createdAsset.id}/files`, @@ -1124,12 +1129,14 @@ export default function AtpModelsPage() {
{ - setFileList([file]); + setFileList((prev) => [...prev, file]); return false; }} + directory + multiple showUploadList={false} > - + {fileList.length > 0 && (