fix: preserve directory structure when uploading books

This commit is contained in:
2026-08-10 23:58:42 -04:00
parent cc39e79cd7
commit 1415cb6244
@@ -35,7 +35,11 @@
let formEl = $state<HTMLFormElement>(); let formEl = $state<HTMLFormElement>();
const onUpload: FileDropZoneProps['onUpload'] = async (uploadedFiles) => { const onUpload: FileDropZoneProps['onUpload'] = async (uploadedFiles) => {
uploadBooks.fields.files.set([...Array.from(files), ...uploadedFiles]); // Rename files to use webkitRelativePath so directory structure is preserved through form submission
const renamedFiles = uploadedFiles.map(f =>
new File([f], f.webkitRelativePath || f.name, { type: f.type })
);
uploadBooks.fields.files.set([...Array.from(files), ...renamedFiles]);
if (autoUploadOnDrop && files.length > 0) { if (autoUploadOnDrop && files.length > 0) {
await tick(); await tick();
formEl?.requestSubmit(); formEl?.requestSubmit();