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]);
目录
打赏
0
0
0
0
3
分享
相关文章
|
6月前
|
Node.js之文件夹的操作
Node.js之文件夹的操作
66 9
【Html.js——图片折叠效果】折叠手风琴(蓝桥杯真题-1763)【合集】
本项目实现了一个图片折叠手风琴效果,使用jQuery完成。主要包括以下部分: - **介绍**:任务是通过点击图片实现折叠和展开的效果。 - **准备**:内置初始代码,包含 `css/style.css`、`images/` 文件夹、`js/` 文件夹及 `index.html` 等文件。启动 Web Server 服务可运行项目。 - **目标**:完善 `index.js` 文件,使页面达到预期的折叠效果。 - **规定**:严格按步骤操作,保持默认文件结构不变,并在完成后保持 Web 服务正常访问状态。 - **通关代码**:使用 jQuery 实现点击事件,为选中元素添加 `act
47 19
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
使用 JavaScript 实现图片上传
使用 JavaScript 实现图片上传
148 1
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
node.js实现遍历所有文件夹里面的js文件,提取所有的url
node.js实现遍历所有文件夹里面的js文件,提取所有的url
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
249 0
|
7月前
|
js之图片上传
js之图片上传
112 0
|
8月前
|
JS代码动态打印404页面源码
源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
42 0

热门文章

最新文章