vue动态获取文件夹里的静态资源

在methods: {

}写一个方法


如:

queryList(){

//获取文件夹里的所有.mp4视频

//'../../../../static/syhAssets/img/video/delta'   {String} -读取文件的路径

//false {Boolean} -是否遍历文件的子目录

// /.mp4$/ {RegExp} -匹配文件的正则

  const files = require.context('../../../../static/syhAssets/img/video/delta', false, /.mp4$/);

var arr = [];

for (var i = 0; i < files.keys().length; i++) {

arr.push({

//拼接完整的地址给前端显示

src:this.$staticFileUrl+"video/delta/"+files.keys()[i].substr(2, files.keys()[i].length)

})

}

  //获取文件夹里的所有.png图片

const files1 = require.context('../../../../static/syhAssets/img/video/delta', false, /.png$/);

var arr1 = [];

for (var i = 0; i < files1.keys().length; i++) {

arr1.push({

src:this.$staticFileUrl+"video/delta/"+files1.keys()[i].substr(2, files1.keys()[i].length)

})

}

console.log(arr1)

  //把视频集合和图片集合concat成一个集合

arr = arr.concat(arr1)

console.log(arr)

//识别所有的集合是图片还是视频

arr.forEach((item,index)=>{

let file=item.src;

    let str=file.substring(file.length-3,file.length);

    if(str=='png'||str=='jpg'){

item.type='image';

    }

if(str=='mp4'||str=='avi'){

item.type='video';

    }

})

//赋值

  this.list=arr;

},

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容