import { createUploadthing, UTFiles } from 'uploadthing/server';
import type { FileRouter } from 'uploadthing/server';
import { generateSvelteHelpers } from '@uploadthing/svelte';
const f = createUploadthing();
// FileRouter for your app, can contain multiple FileRoutes
export const ourFileRouter = {
// Define as many FileRoutes as you like, each with a unique routeSlug
reiaUploader: f(['image/png', 'application/wasm', 'application/octet-stream'])
// Set permissions and file types for this FileRoute
.middleware(async ({ req, files }) => {
const override = files.map((file) => {
return {
...file,
name: file.name,
customId: file.name,
type: 'application/octet-stream' // To test overriding the type, but it looks like it's being blocked before the middleware.
};
});
// Whatever is returned here is accessible in onUploadComplete as `metadata`
return {
[UTFiles]: override,
version: '1.1.0'
};
})
.onUploadComplete(async ({ metadata, file }) => {
// This code RUNS ON YOUR SERVER after upload
console.log(
'Upload completed for ',
file.name,
file.customId,
metadata.version
);
})
} satisfies FileRouter;
export type OurFileRouter = typeof ourFileRouter;
export const { createUploader, createUploadThing } =
generateSvelteHelpers<OurFileRouter>();
import { createUploadthing, UTFiles } from 'uploadthing/server';
import type { FileRouter } from 'uploadthing/server';
import { generateSvelteHelpers } from '@uploadthing/svelte';
const f = createUploadthing();
// FileRouter for your app, can contain multiple FileRoutes
export const ourFileRouter = {
// Define as many FileRoutes as you like, each with a unique routeSlug
reiaUploader: f(['image/png', 'application/wasm', 'application/octet-stream'])
// Set permissions and file types for this FileRoute
.middleware(async ({ req, files }) => {
const override = files.map((file) => {
return {
...file,
name: file.name,
customId: file.name,
type: 'application/octet-stream' // To test overriding the type, but it looks like it's being blocked before the middleware.
};
});
// Whatever is returned here is accessible in onUploadComplete as `metadata`
return {
[UTFiles]: override,
version: '1.1.0'
};
})
.onUploadComplete(async ({ metadata, file }) => {
// This code RUNS ON YOUR SERVER after upload
console.log(
'Upload completed for ',
file.name,
file.customId,
metadata.version
);
})
} satisfies FileRouter;
export type OurFileRouter = typeof ourFileRouter;
export const { createUploader, createUploadThing } =
generateSvelteHelpers<OurFileRouter>();