最近接到一个需求就是根据文件的后缀去判断是否要展示还是要下载
这个需求有两种解决方案,下面就为大家解说这两种方案
1、截取文件的后缀,话不多说,上代码。
isAssetTypeAnImage 这个函数,在你想要做判断的时候调用即可
// 方法里面写
methods: {
hndelClick () {
//filePath 文件名
let filePath = this.previewDocObj.fileName ? this.previewDocObj.fileName : ''
// 获取最后一个.的位置
let index = filePath.lastIndexOf('.')
// 获取后缀
let ext = filePath.substr(index + 1)
if (this.isAssetTypeAnImage(ext)) {}
},
// 这里以图片作为示例,你想要控制什么后缀都写在下面的数据即可
isAssetTypeAnImage (ext) {
return ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(ext.toLowerCase()) !== -1
}
}
2 、第二种方法,利用正则去判断会更加的方便
这种方法会使代码更加的简洁,这种方法更好一些
methods: {
hndelClick () {
let filePath = item.fileName ? item.fileName : '' // 文件的名称
let reg = /\.pdf$/
let imgReg = /(\.jpg|\.jpg|\.png|\.bmp)$/ // 判断多个后缀利用|分开
if ( reg.test(filePath.toLowerCase())) { // 这里做判断
// 这里写逻辑即可
}
}
我的分享结束拉,希望对你们有所帮助!如果有帮到你,你觉得还不错的话,给我点个赞作为鼓励!