JS根据文件类型返回相应状态和图片 简单易懂 还不来多学一点

简介: 在前端开发中,我们经常需要判断文件类型并返回相应的状态,以便在页面中展示相应的图标。本文将介绍一种根据文件类型返回相应状态的方法。

在前端开发中,我们经常需要判断文件类型并返回相应的状态,以便在页面中展示相应的图标。本文将介绍一种根据文件类型返回相应状态的方法。

该方法使用了一个 fileType(text) 函数,该函数接收一个字符串类型的参数 text,表示文件的路径或名称,然后根据不同的文件类型返回相应的状态。具体实现如下:

// 文件类型判断
fileType(text) {
  if (text) {
    let file = this.$uti.typeFile(text)
    const map = [
      [
        () => file.includes('pdf'),
        () => '/static/wordIcon/pdf.png'
      ],
      [
        () => ['docx', 'doc'].includes(file),
        () => '/static/wordIcon/word.png'
      ],
      [
        () => ['xlsx', 'xls'].includes(file),
        () => '/static/wordIcon/excel.png'
      ],
      [
        () => ['mp4', 'MP4', 'MOV'].includes(file),
        () => '/static/wordIcon/mps.png'
      ],
      [
        () => file.includes('mp3'),
        () => '/static/wordIcon/mpmus.png'
      ],
      [
        () => ['jpg', 'JPG', 'jpeg', 'JPEG', 'png', 'PNG', 'gif', 'GIF'].includes(file),
        () => '/static/wordIcon/photo.png'
      ],
      [
        () => file.includes('pdf'),  
        () => '/static/wordIcon/pdf.png'
      ]
    ]
    const target = map.find(m => m[0]())
    if (target) {
      return target[1]()
    } else {
      return '/static/wordIcon/wenjian.png'
    }
  } 
},

该函数首先判断传入的参数 text 是否为空,如果不为空,则通过 this.typeFile(text) 方法获取文件名的后缀名并保存在变量 file 中。

接下来,使用了一个 map 数组来保存不同类型文件的判断条件和对应的返回值。每个元素都是一个长度为 2 的数组,第一个元素是一个函数,用于判断文件类型是否符合条件;第二个元素是一个函数,用于返回相应的状态。

最后,使用了 array.find() 方法在 map 数组中查找符合条件的元素,并返回对应的状态。如果没有找到符合条件的元素,则返回默认的状态 '/static/wordIcon/wenjian.png'。

调用该函数的示例代码如下

this.fileType('http://xxxxxxxxx.com:19000/workfile/buMen_1681280445369.png')

a845bae3b558446c94982ffda387ecdc.png

图片根据业务需求自己更换

以上就是本文介绍的根据文件类型返回相应状态的方法,希望能对大家的开发工作有所帮助。

作者:Emo_TT

相关文章
|
8天前
|
前端开发 JavaScript API
使用 JavaScript 实现图片上传
使用 JavaScript 实现图片上传
26 1
|
2月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例手动切换轮播图片
杨老师课堂之JavaScript案例手动切换轮播图片
23 2
|
2月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例之自动切换轮播图片
杨老师课堂之JavaScript案例之自动切换轮播图片
22 1
|
5天前
|
JavaScript 前端开发
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
33 0
|
8天前
|
JavaScript
js之图片上传
js之图片上传
15 0
|
2月前
|
Web App开发 JavaScript 前端开发
使用 JS 实现在浏览器控制台打印图片 console.image()
在前端开发过程中,调试的时候,我们会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。 虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个 console.image() 呢?
59 1
使用 JS 实现在浏览器控制台打印图片 console.image()
|
2月前
|
JavaScript 前端开发 安全
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印 1. 信息标识: 水印可以用于标识文档的所有者、保密级别、状态或其他相关信息,帮助用户更好地理解文档内容的属性。 2. 版权保护: 在文档中添加水印可以帮助保护内容的版权,防止他人未经授权地复制、转载或篡改内容。 3. 安全保护: 对于敏感信息或机密文档,添加水印可以帮助防止信息泄露,提高文档的安全性。 4. 提升专业性: 在一些场景下,如商业报告、合同文件等,添加水印可以增加文档的专业性和正式性。 5. 防止截屏或拷贝: 在网页中添加水印可以防止用户通过截屏或复制粘贴等方式非法获取文档内容。
34 1
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
|
2月前
|
前端开发 JavaScript
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
22 2
|
1月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
20 0

热门文章

最新文章