diff --git a/frontend/src/lib/components/apps/components/inputs/AppFileInput.svelte b/frontend/src/lib/components/apps/components/inputs/AppFileInput.svelte
index cf4ddce29f..3781ce01c5 100644
--- a/frontend/src/lib/components/apps/components/inputs/AppFileInput.svelte
+++ b/frontend/src/lib/components/apps/components/inputs/AppFileInput.svelte
@@ -18,6 +18,7 @@
let acceptedFileTypes: string[] | undefined = undefined
let allowMultiple: boolean | undefined = undefined
let text: string | undefined = undefined
+ let includeMimeType: boolean | undefined = undefined
let outputs = initOutput($worldStore, id, {
result: [] as { name: string; data: string }[] | undefined
@@ -25,6 +26,13 @@
// Receives Base64 encoded strings from the input component
async function handleChange(files: { name: string; data: string }[] | undefined) {
+ if (includeMimeType === false) {
+ files = files?.map((file) => {
+ const [_, data] = file.data.split('base64,')
+ return { name: file.name, data }
+ })
+ }
+
outputs?.result.set(files)
}
@@ -34,6 +42,7 @@
+
diff --git a/frontend/src/lib/components/apps/editor/component/components.ts b/frontend/src/lib/components/apps/editor/component/components.ts
index 63a5a8b4e5..6e7a4a15a7 100644
--- a/frontend/src/lib/components/apps/editor/component/components.ts
+++ b/frontend/src/lib/components/apps/editor/component/components.ts
@@ -2091,6 +2091,13 @@ This is a paragraph.
value: 'Drag and drop files or click to select them',
fieldType: 'text',
onlyStatic: true
+ },
+ includeMimeType: {
+ type: 'static',
+ value: false,
+ fieldType: 'boolean',
+ tooltip: 'If enabled, the mime type of the file will be included.',
+ onlyStatic: true
}
}
}