循环遍历本地的图片使用BASE64编码,并在ajax也遍历图片

2023-11-09

前端调用ajax到后端去图片的方法,并返回

 public  void search(HttpServletRequest request, HttpServletResponse response) throws Exception {
			 String path="D://alarmImages";
			 int fileNum = 0, folderNum = 0;
		        File file = new File(path);
		        List fileList=new ArrayList();
		        LinkedList<File> list = new LinkedList<>();
		        if (file.exists()) {
		            if (null == file.listFiles()) {
		                return;
		            }
		            list.addAll(Arrays.asList(file.listFiles()));
		            while (!list.isEmpty()) {
		                File[] files = list.removeFirst().listFiles();
		                if (null == files) {
		                    continue;
		                }
		                for (File f : files) {
		                    if (f.isDirectory()) {
		                        System.out.println("文件夹:" + f.getAbsolutePath());
		                        list.add(f);
		                        folderNum++;
		                    } else {
		                    	
		                        System.out.println("文件:" + f.getAbsolutePath());
		                        fileNum++;
		                        InputStream inputStream = null;
		                        byte[] data = null;
		                        try {
		                            inputStream = new FileInputStream(f);
		                            data = new byte[inputStream.available()];
		                            inputStream.read(data);
		                            inputStream.close();
		                        } catch (IOException e) {
		                            e.printStackTrace();
		                        }
		                        // 加密
		                        String a=Base64.encodeBase64String(data);
		                        System.out.println(a);
		                        fileList.add(a);
		                    }
		                }
		            }
		        } else {
		            System.out.println("文件不存在!");
		        }
		        System.out.println("文件夹数量:" + folderNum + ",文件数量:" + fileNum);
		        HashMap<String, Object> result = new HashMap<String, Object>();
		        PrintWriter writer;
				 try {
				      result.put("fileList", fileList);
				      response.setCharacterEncoding("utf-8");
				      writer = response.getWriter();
				      String jsonString = JSON.toJSONString(result);
				      writer.print(jsonString);
				    } catch (IOException e) {
				      e.printStackTrace();
				    }
		}

前端ajax拿到图片后,遍历

	 success:function(result){
		        var fileList = result.fileList;
		        for( var i in fileList ){
             	console.log(fileList[i]);
				}
				}	
		      });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

循环遍历本地的图片使用BASE64编码,并在ajax也遍历图片 的相关文章

随机推荐

  • 【华为OD机试c++/java/python】称砝码【 2023 Q1 A卷

    题目描述 现有n种砝码 重量互不相等 分别为 m1 m2 m3 mn 每种砝码对应的数量为 x1 x2 x3 xn 现在要用这些砝码去称物体的重量 放在同一侧 问能称出多少种不同的重量 注 称重重量包括 0 数据范围 每组输入数据满足 1
  • [机缘参悟-65]:《兵者,诡道也》-7-三十六计解读-败战计

    目录 前言 第1章 三十六计 概述 第六套 败战计 第三十一计 美人计 第三十二计 空城计 第三十三计 反间计 第三十四计 苦肉计 第三十五计 连环计 第三十六计 走为上计 前言 兵者 诡道也 兵者 道 的部分 是 道 的另一面 如果 天道
  • Box2D射线和AABB碰撞检测

    box2d使用了一种叫做slab的碰撞检测算法 所谓slab是指两个平行平面之间的空间 由此我们可以把3D空间中的AABB盒子看做是由AABB的3组平行面形成的3个方向的slab的交集 根据这个定义 我们可以得到以下两个结论 1 如果一个点
  • mysql启动报错:Starting MySQL... ERROR! The server quit without updating PID file

    mysql启动时报错 Starting MySQL ERROR The server quit without updating PID file opt mysql data mysql pid 的解决方法 1 可能是 opt mysql
  • [MySQL]一文带你学明白数据库控制语言——DCL

    前言 嗨咯 小伙伴大家好呀 好几天没见了 周末过得怎么样啊 之前学过的SQL语句不会都忘了吧 如果忘了的话大家可以看一下前几期的文章 本期要学习的是SQL语句中的数据库控制语句 DCL 学习完毕之后MySQL中的SQL语句也就结束了 数据库
  • [388]码云使用说明

    码云如何上传项目 码云上传项目 需要3个步骤 在码云网站建立一个空项目 把这个空项目拉到本地 把自己的项目放到这个空项目里面并提交 1 在码云的页面 点击右上角的加号 2 选择新建项目 3 在跳转的页面简要填写项目信息 除了名称和路径 其它
  • 使用HttpClient下载网页

    Httpclient是一个非常好用的第三方库 用于网络编程 可以用来做个爬虫程序什么之类的 安卓中内置的网络编程库就是httpclient 下面就可大家介绍介绍怎么使用httpclient下载新浪首页的源代码 其过程就是首先构建一个http
  • python怎么调用文件_Python如何调用m文件

    Python如何调用m文件 一 安装Python 并正确配置环境变量 matlab2016a只支持python2 7 python3 3 python3 4 python3 4以上版本不支持 推荐学习 Python教程 二 安装Matlab
  • CSS中如何实现一个自适应正方形(宽高相等)的元素?

    聚沙成塔 每天进步一点点 专栏简介 利用 padding 百分比 2 利用 before 伪元素 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅
  • cocos2dx中的内存加载PLIST

    今天 加载图片时有问题 myButtonPList loadTextures jineng 02103 png jineng 02103 light png jineng 03101 png UI TEX TYPE PLIST myButt
  • 时间趋势可视化-柱形图

    第1关 大胃王 比赛数据柱形图绘制 绘制柱形图的基本步骤 本关任务 根据实训提供的 大胃王 比赛数据绘制柱形图 熟悉柱形图绘制的基本步骤 coding utf 8 import pandas as pd from matplotlib im
  • 利用CIBERSORT免疫细胞类群分析详细教程

    利用CIBERSORT免疫细胞类群分析详细教程 现在最火的组学技术是什么 无疑便是单细胞测序了 通过单细胞测序 科研人员可以获得比原来更为精细的细胞图谱 但是单细胞测序诸多限制条件 也是不能让大家很好地利用这项技术解决自己的科学问题 除了较
  • 【Qt】通过QtCreator源码学习Qt(十二):Q_D和Q_Q指针(简称“d指针”)详解

    1 Q D和Q Q指针 简称 d指针 简介 参考博客 https www devbean net 2016 11 qt creator source study 07 https blog csdn net rabinsong articl
  • SpringBoot项目中统计所有Controller中的方法

    对接口方法进行抽象 Data public class ControllerMethodItem public String controllerName public String methodName public String req
  • vscode中preLaunchTask“g++”已终止,退出代码为1的解决方案

    问题背景 楼主原来做的项目 电脑中装了MinGW64 还有MinGW的32位版在用vscode时发现出现了 preLaunchTask g 已终止 退出代码为1的问题 找了好久 解决了问题 launch json 注释的位置 这里修改GDB
  • Vue中实现放大镜效果

    先来看一下我们需要实现的效果是怎样的 这里我们没有使用原生的 js 方法去实现 而是使用的 Vue3 官方推荐的一个工具库 vueuse cor 中的 useMouseInElement 方法来实现放大镜的效果 首先来看一下 useMous
  • 如何安装和配置树莓派

    如何安装和配置树莓派 如果你有一块树莓派的板子 还有一个没安装系统的SD卡 怎么能把系统装上 配置好跑起来 这篇文章主要就讲这个事 这是一块Raspberry Pi Zero W板 以及一个空SD卡 当然 我们需要一个SD卡读卡器 还需要一
  • Flink Native Kubernetes (一)

    目录 文章目录 目录 概述 Linux 集群描述 版本 部署K8S环境 配置Yum 安装docker 安装Rancher 安装K8s 工作集群 添加KubeCtl命令上下文 运行FlinkDemo FlinkSession关于K8s的基础环
  • 三:Sensor SLPI层代码分析---

    三 Sensor SLPI层代码分析 在学习SLPI侧代码前我们先了解下SEE的registry config registry 放在 persist sensors registry registry中 它是通过config生成的 是给S
  • 循环遍历本地的图片使用BASE64编码,并在ajax也遍历图片

    前端调用ajax到后端去图片的方法 并返回 public void search HttpServletRequest request HttpServletResponse response throws Exception String