JS 如何动态获取本地文件夹中的所有图片

简介: JS 如何动态获取本地文件夹中的所有图片

1、require.context

最近在帮师哥做一个简单的数据和图片展示的项目,其中有一个需求是要在页面上显示出该项目某一文件夹下的所有图片,图片的数目和文件名不确定,只知道图片存放的目录。


一开始想到的思路是在页面上设置输入框,输入图片的数目和文件名,但是这样不够方便,想优化一下,所以在网上看到了这个 require.context() 方法,下面先对其做一个简单的介绍。

require.context(directory, useSubdirectories, regExp)
//参数:
//directory: 说明需要检索的目录
//useSubdirectories: 是否检索子目录
//regExp: 匹配文件的正则表达式, 一般是文件名
//返回值:require.context返回一个require 函数,此函数可以接收一个参数
function webpackContext(req) {
    return __webpack_require__(webpackContextResolve(req))
};
//函数有三个属性:resolve 、keys、id
//resolve: 是一个函数,他返回的是被解析模块的id ,接受一个参数request。
//keys: 也是一个函数,他返回的是一个数组,该数组是由所有可能被上下文模块解析的请求对象组成
//id:上下文模块的id

2、具体实现步骤

首先我们需要知道图片的路径,图片的路径是相对路径也可以是绝对路径;其次我们需要获取到图片的文件名

let requireModule = require.context(
    "../assets/images",
    false,
    /\.png$/
);
let imagesNameArr = [];
for (var i = 0; i < requireModule.keys().length; i++) {
    imagesNameArr .push(requireModule.keys()[i].substr(2, requireModule.keys()[i].length));
}

然后把对应的文件名和路径拼接起来:

currentImageUrl = require("…/assets/images" + imagesNameArr[i]);
目录
相关文章
|
3月前
|
JavaScript
Node.js之文件夹的操作
Node.js之文件夹的操作
49 9
|
4月前
|
前端开发 JavaScript API
使用 JavaScript 实现图片上传
使用 JavaScript 实现图片上传
129 1
|
3月前
|
JavaScript 前端开发
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
|
4月前
|
机器学习/深度学习 JavaScript
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
|
4月前
|
JavaScript 前端开发
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
200 0
|
4月前
|
JavaScript
js之图片上传
js之图片上传
82 0
|
5月前
|
JavaScript
JS代码动态打印404页面源码
源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
32 0
JS代码动态打印404页面源码
|
5月前
|
JavaScript
js好用的动态分页插件
js好用的动态分页插件是一款简单的分页样式插件,支持样式类型,当前页,每页显示数量,按钮数量,总条数,上一页文字,下一页文字,输入框跳转等功能。
45 1
|
5月前
|
JavaScript 前端开发
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
99 1