img加载图片的三种方式

2023-11-06

方式一:src指向图像的位置

最常用的一种方式,无需搭配后端代码

<img src="img/boat.gif" alt="Big Boat">

方式二:src执行后台路径,获取图片的字节数组

前端代码

<img src="/getImage" alt="Big Boat">

后端代码

@GetMapping("getImage")
    public void image(HttpServletResponse response) throws IOException {

        try(InputStream input = new FileInputStream("D:\\个人资料\\图片\\Picture\\lf.jpg");
            OutputStream output = response.getOutputStream()){
            output.write(input.readAllBytes());
        }

    }

方式三:src指向后台路径,获取图片字节数组的base64编码(字符串)

​前端代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/static/js/jquery.js"></script>
    <style>
        .main{
            display: flex;
        }
        .imgdiv{
            text-align: center;
            margin: 5px;
        }
        .imgdiv p{
            font-weight: bold;
            font-size: 22px;
        }
        img{
            width: 200px;
            height: 250px;
        }
    </style>
</head>
<body>
<div class="main">
    <div class="imgdiv">
        <img id="img1" src="">
    </div>
    <div class="imgdiv">
        <img id="img2" src="">
    </div>
</div>
</body>
<script>
    $(document).ready(function () {
        var params = {
            "img1": "dog.jpg",
            "img2": "cat.jpg"
        };
        fetch("/getImage", {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json;charset=UTF-8'
            },
            body: JSON.stringify(params)
        }).then(res => res.json()).then(res => {
            for (var p in res) {
                $("#" + p)[0].src = "data:image/jpg;base64," + res[p];
            }

        })
    });

</script>
</html>

后端代码

@PostMapping("getImage")
public Map<String, String> image(@RequestBody Map<String, String> map) throws Exception {
    String baseImgUrl = "D:\\个人资料\\图片\\Picture\\";
    Map<String, String> imageMap = new HashMap<>();
    for (Map.Entry<String, String> entry : map.entrySet()) {
        String imageId = entry.getKey();
        // 图片名称
        String imageName = entry.getValue();
        // 最终图片路径
        String imgUrl = baseImgUrl + imageName;
        try (InputStream input = new FileInputStream(imgUrl)) {
            String b64encoded = Base64.getEncoder().encodeToString(input.readAllBytes());
            imageMap.put(imageId, b64encoded);
        }
    }
    return imageMap;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

img加载图片的三种方式 的相关文章

  • 如何查找类路径中具有指定名称的所有资源?

    我想列出类路径中具有特定名称的所有文件 我预计会发生多次 因此Class getResource String 不管用 基本上 我必须识别类路径中任何位置具有特定名称 例如 xyz properties 的所有文件 然后累积读取其中的元数据
  • 使用会话空闲超时进行轮询

    我对 Tomcat 中的所有应用程序使用单点登录 我的要求是 我必须轮询应从后端获取的事务状态 但它也不应该影响会话的空闲超时 有人可以建议是否可以做点什么吗 Thanx 我不知道是否有标准方法可以做到这一点 如果没有 你可以写一个过滤器
  • jQuery live() 和ready() 之间的区别?

    两者之间的确切区别是什么live and ready 编辑 发现die http docs jquery com Events die是相反的live ready http docs jquery com Events ready让你注册一
  • Flot 0.8.2 折线图 - 颜色错误

    我正在使用 Flot 折线图并设置它们的颜色 我发现了一个奇怪的错误 在前 3 种颜色之后 绘图对所有其他线条使用最后一种颜色 这不是正确的行为 更有趣的是图例显示了正确的颜色 这是一个已知的错误 var dataSet label d1
  • 自动调整元素 (div) 大小以适合水平内容

    我尝试谷歌搜索 但没有得到太多结果 我正在构建一个水平轮播 它在浮动的 LI 中显示图像 我想解决的问题是 每次我向轮播添加缩略图 我是延迟加载 时 我都需要重新计算轮播的宽度 以便所有浮动缩略图很好地并排排列 其一 我宁愿不必在 JS 中
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • Niceedit本地上传图片失败

    我是这样称呼编辑的 new nicEditor buttonList bold italic underline upload iconsPath img nicedit png uploadURI http server com inte
  • 当元素具有多个类时如何在 switch 语句中检查 className

    在下面的示例中 我只想单击该选项以在警报中显示 我正在尝试使用 switch 语句来确定单击了哪个类 如果我的 div 不包含多个类 则我的示例将有效 我尝试使用classList contains在我的 switch 语句中无济于事 有没
  • 在 x64 系统上使用 skype-java-api

    我正在使用 skype java api 在 Java 中使用 Skype 我需要的唯一功能是点击即可拨打电话号码 它在 Windows XP x86 上运行良好 但我刚刚在 Windows 7 x64 上测试它 但失败了 错误是 线程 T
  • Javascript/DOM:如何删除 DOM 对象的所有事件侦听器?

    只是问题 有没有办法完全删除对象的所有事件 例如一个div 编辑 我添加每div addEventListener click eventReturner false 一个事件 function eventReturner return f
  • Java:易失性足以使类线程安全?

    我有一个关于 Java 中 volatile 语句的问题 请看这个构造的例子 class Master Foo is a class with thread safe methods public volatile Foo foo clas
  • 如何在javascript中解析 yyyy-MM-dd HH:mm:ss.SSS 格式的日期?

    const time 2016 11 16 00 00 00 000 const date new Date time console info date 似乎 safari 无法解析 yyyy MM dd HH mm ss SSS 格式日
  • 尽管给出了供应商 ID,Web 串行 api 显示“未找到兼容设备”

    Windows 8 1 Chrome v91 0 4472 164 我已根据设备管理器验证了供应商和产品 ID 该设备是使用 Ch340 驱动程序的 Arduino UNO 它在设备管理器中的端口 COM 和 LPT 下列为 USB SER
  • jQuery 显示/隐藏兄弟姐妹

    我有这段代码 旨在首先隐藏除第一个元素之外的所有相关元素 这个 做的不错啊接下来 它应该根据选择的项目显示 隐藏这些元素 但这部分不起作用 想法 jQuery accordion dl not first child hide hide a
  • Java Media API:java media api 下载

    我在哪里可以找到javax media jar 文件 在sun站点它下载一个安装程序 有没有可用的java媒体jar 没有 javax media 具体是 jar 文件 该包位于 jmf jar 文件中 您需要运行安装程序并取出 jar 或
  • 为什么对于整数键,“Map”操作比 JavaScript (v8) 中的“Object”慢得多?

    我很高兴使用Map对于在我的 JavaScript 代码库中随处访问的索引 但我刚刚偶然发现了这个基准 https stackoverflow com a 54385459 365104 https stackoverflow com a
  • Ie11 不应用媒体查询样式

    IE11 忽略我的媒体查询并始终使用移动 CSS 奇怪的是 如果我改变浏览器宽度 即使只是 1 2 像素 浏览器也会自行渲染并显示媒体查询 我尝试了 css lint 我的 css 中没有错误 我的CSS没有什么特别的 只是简单的 css
  • ES6解构对象赋值函数参数默认值

    您好 我正在查看在传递函数参数时使用对象解构的示例对象解构演示 https developer mozilla org en US docs Web JavaScript Reference Operators Destructuring
  • Java编程编译jar

    我有一个文本文件中的java源代码 必须在源代码中输入一些自定义的硬编码变量 然后将其转换为 jar 这是可行的 但是当我运行 jar 时 找不到 Main 类 当我用 WinRAR 解压 jar 文件时 我似乎找不到错误 当我通过 cmd

随机推荐

  • 【基于大数据的海外视频数据可视化分析-哔哩哔哩】 https://b23.tv/X8KcrIu

    基于大数据的海外视频数据可视化分析 哔哩哔哩 https b23 tv X8KcrIu https b23 tv X8KcrIu
  • Modern C++ for C程序员 第2部分

    文章目录 Modern C for C程序员 第2部分 命名空间 类 资源获取即初始化 RAII 智能指针 线程 原子操作 锁 错误处理 总结 这是bert hubert的系列文章 旨在帮助c代码人快速了解c 实用的新特性 原文链接 htt
  • Vue项目运行报错:Cannot read properties of undefined (reading ‘install‘)

    在做vue2项目时出现如下错误 页面空白且控制台出现如下错误 报错原因 vue router安装的版本太高 一般vue2的项目对应的版本是vue router 3版本 解决办法 在控制台输入 cnpm install save vue ro
  • Open3D中RANSAC平面拟合

    文章目录 一 函数介绍 二 代码实现 三 结果展示 四 总结 五 坐标中心化 一 函数介绍 使用RANSAC从点云中分割平面 用segement plane函数 这个函数需要三个参数 destance threshold 定义了一个点到一个
  • eager模式和graph模式 Tensorflow

    Tensorflow2在原有graph模式基础上引入了eager模式 graph是tensorflow v1的图模式 eager是立即执行运算模型 Tensorflow2的eager模式和graph模式 1 哔哩哔哩 bilibili 不需
  • Python手册(IDE)--Jupyter Notebook

    文章目录 Anaconda Jupyter Notebook 快捷键 魔术命令 Anaconda Anaconda 是一个用于科学计算的 Python 发行版 支持 Linux Mac Windows 包含了众多流行的科学计算 数据分析的
  • 安全配置

    基线管理之centos安全配置 1 检查不用的链接 ip link show up 如果有需要关闭的接口 可以使用 ip link set down 2 关闭IP转发 先查看ip转发配置 sysctl net ipv4 ip forward
  • 求两条轨迹间的hausdorff距离_轨迹规划之位置插补

    假设我们有一个向量的序列 如果我们想对这个序列进行插值 那么 我们可以分别对每一对向量 和 进行插值 然后将插值的曲线连接起来 也就 是我们所说的样条 Spline 很明显 这个曲线虽然是连续的 但是它的一阶导数 切线 在切换插值向量时都不
  • 矩母函数和生成函数

    关于矩母函数和生成函数 今天来说道说道 系本人自身学习理解 不对之处 还望各位看官海涵 首先 这是两个名字 二者不是一个东西 这是首先需要搞清楚的 但是二者的定义却有着相同的目的即 求若干独立随机变量和的分布 1 矩母函数 仅连续型随机变量
  • 基于Python+Pyecharts+爬虫实现的对全球疫情新增患者可视化分析

    文章目录 前言 1 爬取网站获取全球各国新冠新增人数 1 1挑选网站进行网页源码分析 1 2对该网站采用requests库进行网络爬取 1 3将返回的字典添加到刚才所建立的空列表当中 2 对所得数据进行可视化分析 2 1采用pyechart
  • Grafana

    为什么80 的码农都做不了架构师 gt gt gt 最近在调研InfluxDB的时候接触到了Grafana Grafana是什么 一个类似Kibana的东西 也是对后端的数据进行实时展示 那么Grafana和Kibana有什么区别 在我看来
  • tp5中树状图数据格式的返回

    1 条件 数据库中的数据必须是无限递归数据 2 数据处理 public function treeListApi list this gt db class gt field id name parent id gt where is de
  • str功能的实现

    1 strcat 功能 把src所指字符串添加到dest结尾处 覆盖dest结尾处的 0 并添加 0 程序 char strcat char dest const char src char addr dest int i 0 j 0 as
  • 私服的搭建

    私服 基于nexus 3 20 1 下载地址 https help sonatype com repomanager3 download 目前该下载地址国内下载根本下载不了 你可以去百度找找看 分享一个百度网盘下载链接 链接 https p
  • Oracle 索引

    1 索引介绍 索引是用于加速数据存取的数据对象 是对数据表中一个或多个列进行排序的结构 合理的使用索引可以大大降低I O次数 从而提高数据访问性能 2 问题 为什么需要索引 Select from scott emp where empno
  • python(五)函数、模块、包

    模块 包的概念 在Python中 一个 py文件就称之为一个模块 Module 我们在编写程序的时候 也经常引用其他模块 包括Python内置的模块和来自第三方的模块 你也许还想到 如果不同的人编写的模块名相同怎么办 为了避免模块名冲突 P
  • oracle多个表count值求和

    union和union all关键字都是将两个结果集合并为一个 但这两者从使用和效率上来说都有所不同 union在进行表链接后会筛选掉重复的记录 所以在表链接后会对所产生的结果集进行排序运算 删除重复的记录再返回结果 而union all只
  • docker安装fastDFS

    一 docker安装 1 搜索镜像 2 拉取镜像 最新版本 docker pull delron fastdfs 3 使用镜像构建容器 3 1 创建tracker容器 docker run dti network host name my
  • js-yaml简单使用

    安装 js yaml npm install js yaml index js let fs require fs let content fs readFileSync text yaml encoding utf8 let yaml r
  • img加载图片的三种方式

    方式一 src指向图像的位置 最常用的一种方式 无需搭配后端代码 img src img boat gif alt Big Boat 方式二 src执行后台路径 获取图片的字节数组 前端代码 img src getImage alt Big