阅读 37

根据文件名后缀区分 文件类型

根据文件名后缀区分 文件类型

// 根据文件名后缀区分 文件类型
/*
 * @param: fileName - 文件url
 * @param: 数据返回 1) 无后缀匹配 - false
 * @param: 数据返回 2) 匹配图片 - image
 * @param: 数据返回 3) 匹配 txt - txt
 * @param: 数据返回 4) 匹配 excel - excel
 * @param: 数据返回 5) 匹配 word - word
 * @param: 数据返回 6) 匹配 pdf - pdf
 * @param: 数据返回 7) 匹配 ppt - ppt
 * @param: 数据返回 8) 匹配 视频 - video
 * @param: 数据返回 9) 匹配 音频 - radio
 * @param: 数据返回 10) 其他匹配项 - other
 */
export function matchType(fileName: any) {
  // 后缀获取
  let suffix = '';
  // 获取类型结果
  let result: any = '';
  try {
    const flieArr = fileName.split('.');
    suffix = flieArr[flieArr.length - 1];
  } catch (err) {
    suffix = '';
  }
  // fileName无后缀返回 false
  if (!suffix) {
    result = false;
    return result;
  }
  // 图片格式
  // const imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'PNG', 'JPG', 'JPEG', 'BMP', 'GIF'];
  const imglist = supportPic;
  // 进行图片匹配
  result = imglist.some(item => item == suffix);
  if (result) {
    result = 'image';
    return `${result}/${suffix}`;
  }
  // 匹配txt
  const txtlist = ['txt'];
  result = txtlist.some(item => item == suffix);
  if (result) {
    result = 'txt';
    return result;
  }
  // 匹配 excel
  const excelist = ['xls', 'xlsx'];
  result = excelist.some(item => item == suffix);
  if (result) {
    result = 'excel';
    return result;
  }
  // 匹配 word
  const wordlist = ['doc', 'docx'];
  result = wordlist.some(item => item == suffix);
  if (result) {
    result = 'word';
    return result;
  }
  // 匹配 pdf
  const pdflist = ['pdf'];
  result = pdflist.some(item => item == suffix);
  if (result) {
    result = 'pdf';
    return result;
  }
  // 匹配 ppt
  const pptlist = ['ppt'];
  result = pptlist.some(item => item == suffix);
  if (result) {
    result = 'ppt';
    return result;
  }
  // 匹配 视频
  // const videolist = ['mp4', 'm2v', 'mkv'];
  const videolist = supportVideo;
  result = videolist.some(item => item == suffix);
  if (result) {
    result = 'video';
    return `${result}/${suffix}`;
  }
  // 匹配 音频
  // const radiolist = ['mp3', 'wav', 'wmv'];
  const radiolist = supportAudio;
  result = radiolist.some(item => item == suffix);
  if (result) {
    result = 'audio';
    return `${result}/${suffix}`;
  }
  // 其他 文件类型
  result = 'other';
  return result;
}
复制代码
文章分类
前端
文章标签