MediaType.guessFromFileExtension constructor

MediaType.guessFromFileExtension(
  1. String ext
)

Tries to guess the media type from the specified file extension ext.

If it encounters an unknown extension, the application/octet-stream media type is returned. Alternatively use MediaType.guessFromFileName for the same results.

Implementation

factory MediaType.guessFromFileExtension(final String ext) {
  switch (ext.toLowerCase()) {
    case 'txt':
      return MediaType.textPlain;
    case 'html':
      return MediaSubtype.textHtml.mediaType;
    case 'vcf':
      return MediaSubtype.textVcard.mediaType;
    case 'jpg':
    case 'jpeg':
      return MediaSubtype.imageJpeg.mediaType;
    case 'png':
      return MediaSubtype.imagePng.mediaType;
    case 'webp':
      return MediaSubtype.imageWebp.mediaType;
    case 'pdf':
      return MediaSubtype.applicationPdf.mediaType;
    case 'doc':
    case 'docx':
      return MediaSubtype
          .applicationOfficeDocumentWordProcessingDocument.mediaType;
    case 'ppt':
    case 'pptx':
      return MediaSubtype
          .applicationOfficeDocumentPresentationPresentation.mediaType;
    case 'xls':
    case 'xlsx':
      return MediaSubtype.applicationOfficeDocumentSpreadsheetSheet.mediaType;
    case 'mp3':
      return MediaSubtype.audioMp3.mediaType;
    case 'mp4':
      return MediaSubtype.videoMp4.mediaType;
    case 'zip':
      return MediaSubtype.applicationZip.mediaType;
  }

  return MediaSubtype.applicationOctetStream.mediaType;
}