File tree Expand file tree Collapse file tree
apps/sim/lib/uploads/utils Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -329,6 +329,8 @@ describe('ensureFileNameExtension', () => {
329329 'download (641).jpg'
330330 )
331331 expect ( ensureFileNameExtension ( 'hero.png' , 'image/jpeg' ) ) . toBe ( 'hero.png' )
332+ expect ( ensureFileNameExtension ( 'site.webmanifest' , 'application/json' ) ) . toBe ( 'site.webmanifest' )
333+ expect ( ensureFileNameExtension ( 'Sim.ai <> RVTech' , 'text/html' ) ) . toBe ( 'Sim.ai <> RVTech.html' )
332334 expect ( ensureFileNameExtension ( 'blob' , 'application/octet-stream' ) ) . toBe ( 'blob' )
333335 expect ( ensureFileNameExtension ( 'blob' , null ) ) . toBe ( 'blob' )
334336 } )
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ import { omit } from '@sim/utils/object'
33import type { StorageContext } from '@/lib/uploads'
44import {
55 ACCEPTED_FILE_TYPES ,
6+ isAlphanumericExtension ,
67 SUPPORTED_ARCHIVE_EXTENSIONS ,
78 SUPPORTED_DOCUMENT_EXTENSIONS ,
89} from '@/lib/uploads/utils/validation'
@@ -617,8 +618,6 @@ export function getExtensionFromMimeType(mimeType: string): string | null {
617618 return MIME_TO_EXTENSION [ mimeType . split ( ';' ) [ 0 ] . trim ( ) . toLowerCase ( ) ] || null
618619}
619620
620- const FILE_NAME_EXTENSION_RE = / \. [ A - Z a - z 0 - 9 ] { 1 , 8 } $ /
621-
622621/**
623622 * Appends the extension the content type implies when a file name carries none, so a
624623 * saved copy opens in the right application.
@@ -627,7 +626,7 @@ export function ensureFileNameExtension(
627626 fileName : string ,
628627 contentType : string | null | undefined
629628) : string {
630- if ( ! contentType || FILE_NAME_EXTENSION_RE . test ( fileName ) ) return fileName
629+ if ( ! contentType || isAlphanumericExtension ( getFileExtension ( fileName ) ) ) return fileName
631630 const extension = getExtensionFromMimeType ( contentType )
632631 return extension ? `${ fileName } .${ extension } ` : fileName
633632}
You can’t perform that action at this time.
0 commit comments