image.png

1.创建 commonUtil.js 文件

  1. //匹配文件后缀
  2. export function matchFileSuffixType(fileName) {
  3. // 后缀获取
  4. var suffix = "";
  5. // 获取类型结果
  6. var result = "";
  7. try {
  8. var flieArr = fileName.split(".");
  9. suffix = flieArr[flieArr.length - 1];
  10. } catch (err) {
  11. suffix = "";
  12. }
  13. // fileName无后缀返回 false
  14. if (!suffix) {
  15. result = false;
  16. return result;
  17. }
  18. // 图片格式
  19. var imglist = ["png", "jpg", "jpeg", "bmp", "gif", "tif", "tiff"];
  20. // 进行图片匹配
  21. result = imglist.some(function (item) {
  22. return item == suffix;
  23. });
  24. if (result) {
  25. result = "image";
  26. return result;
  27. }
  28. // 匹配txt
  29. var txtlist = ["txt"];
  30. result = txtlist.some(function (item) {
  31. return item == suffix;
  32. });
  33. if (result) {
  34. result = "txt";
  35. return result;
  36. }
  37. // 匹配 doc文件
  38. var officelist = ["doc"];
  39. result = officelist.some(function (item) {
  40. return item == suffix;
  41. });
  42. if (result) {
  43. result = "doc";
  44. return result;
  45. }
  46. // -----------pdf---------------
  47. var pdf = ["pdf"];
  48. result = pdf.some(function (item) {
  49. return item == suffix;
  50. });
  51. if (result) {
  52. result = "pdf";
  53. return result;
  54. }
  55. // 匹配xlsx文件类型
  56. var download = ["xlsx", "xls"];
  57. result = download.some(function (item) {
  58. return item == suffix;
  59. });
  60. if (result) {
  61. result = "xls";
  62. return result;
  63. }
  64. // 匹配压缩文件
  65. var ziplist = ["zip", "rar", "jar", "tar", "gzip"];
  66. result = ziplist.some(function (item) {
  67. return item == suffix;
  68. });
  69. if (result) {
  70. result = "zip";
  71. return result;
  72. }
  73. // 匹配 视频
  74. var videolist = ["mp4", "m2v", "mkv"];
  75. result = videolist.some(function (item) {
  76. return item == suffix;
  77. });
  78. if (result) {
  79. result = "video";
  80. return result;
  81. }
  82. // 匹配 音频
  83. var radiolist = ["mp3", "wav", "wmv"];
  84. result = radiolist.some(function (item) {
  85. return item == suffix;
  86. });
  87. if (result) {
  88. result = "radio";
  89. return result;
  90. }
  91. // 其他 文件类型
  92. result = "other";
  93. return result;
  94. }

2.在vue中使用

  1. <li v-for="(item, index) in AppendixData" :key="index">
  2. <!-- 附件路径 -->
  3. <!-- 根据文件后缀显示不同的图片 -->
  4. <img :src="require(`./image/${matchFileSuffixType(item.fileType)}.png`)" alt="" /> //这句话是重点*****
  5. <!-- 附件名称 -->
  6. <p>{{ item.attName }}</p>
  7. <!-- 附件大小 -->
  8. <p>{{ item.attSize }}</p>
  9. </li>

3.引用组件

  1. import { matchFileSuffixType } from "@/utils/commonUtil.js";
  2. methods中使用
  3. methods:{
  4. matchFileSuffixType, //根据文件类型显示不同图片 **(不能删除)
  5. //根据附件名称显示不同的图片
  6. suffixFn(fileName) {
  7. let suffix = matchFileSuffixType(fileName); //fileName 文件名
  8. console.log(suffix);
  9. },
  10. }