@@ -87,32 +87,36 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
8787 }
8888
8989 const formData = await request . formData ( )
90- const file = formData . get ( 'file' ) as File
90+ const rawFile = formData . get ( 'file' )
9191
92- if ( ! file ) {
92+ if ( ! rawFile || ! ( rawFile instanceof File ) ) {
9393 return NextResponse . json ( { error : 'No file provided' } , { status : 400 } )
9494 }
9595
96- // Validate file size (100MB limit)
96+ const fileName = rawFile . name
97+ if ( ! fileName ) {
98+ return NextResponse . json ( { error : 'File name is missing' } , { status : 400 } )
99+ }
100+
97101 const maxSize = 100 * 1024 * 1024
98- if ( file . size > maxSize ) {
102+ if ( rawFile . size > maxSize ) {
99103 return NextResponse . json (
100- { error : `File size exceeds 100MB limit (${ ( file . size / ( 1024 * 1024 ) ) . toFixed ( 2 ) } MB)` } ,
104+ { error : `File size exceeds 100MB limit (${ ( rawFile . size / ( 1024 * 1024 ) ) . toFixed ( 2 ) } MB)` } ,
101105 { status : 400 }
102106 )
103107 }
104108
105- const buffer = Buffer . from ( await file . arrayBuffer ( ) )
109+ const buffer = Buffer . from ( await rawFile . arrayBuffer ( ) )
106110
107111 const userFile = await uploadWorkspaceFile (
108112 workspaceId ,
109113 session . user . id ,
110114 buffer ,
111- file . name ,
112- file . type || 'application/octet-stream'
115+ fileName ,
116+ rawFile . type || 'application/octet-stream'
113117 )
114118
115- logger . info ( `[${ requestId } ] Uploaded workspace file: ${ file . name } ` )
119+ logger . info ( `[${ requestId } ] Uploaded workspace file: ${ fileName } ` )
116120
117121 recordAudit ( {
118122 workspaceId,
@@ -122,8 +126,8 @@ export async function POST(request: NextRequest, { params }: { params: Promise<{
122126 action : AuditAction . FILE_UPLOADED ,
123127 resourceType : AuditResourceType . FILE ,
124128 resourceId : userFile . id ,
125- resourceName : file . name ,
126- description : `Uploaded file "${ file . name } "` ,
129+ resourceName : fileName ,
130+ description : `Uploaded file "${ fileName } "` ,
127131 request,
128132 } )
129133
0 commit comments