js修改img的src属性显示变换图片到前端页面,img的src属性显示java后台读取返回的本地图片

这篇具有很好参考价值的文章主要介绍了js修改img的src属性显示变换图片到前端页面,img的src属性显示java后台读取返回的本地图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

img的src属性是前端用来显示一张图片的来源,一般情况下src最常见是显示项目中resources\static问价夹下的图片,或者显示公网上的图片,如果想要在前端显示本地图片那要怎么处理呢?如果直接用本地图片的地址(例如src=“D:\Users\test.jpg”)前端是无法显示的。


一、HTML 图像- 图像标签( )

1.1图像标签的源属性(Src)

<img> 是空标签,它只包含属性,并且没有闭合标签。
要在页面上显示图像,你需要使用源属性(src)。src 指 “source”。源属性的值是图像的 URL 地址。

这表示在前端显示项目resources\static\img\1.jpg图片。
alt 属性用来为图像定义一串预备的可替换的文本,在浏览器无法载入图像时,替换文本属性告诉读者失去的信息。

1.2图像标签源属性(Src)显示项目中图片

<img src="img\1.jpg" alt="图片1" width="710" height="904">

1.3图像标签源属性(Src)显示网络图片

<img src="https://cn.bing.com/images/search?view=detailV2&ccid=CHB%2blvhE&id=BCC6162523ACBBC86A0B525F6D66FB3A13AA6CE9&thid=OIP.CHB-lvhE4q3AKMRtSy1MjwHaE6&mediaurl=https%3a%2f%2fts1.cn.mm.bing.net%2fth%2fid%2fR-C.08707e96f844e2adc028c46d4b2d4c8f%3frik%3d6WyqEzr7Zm1fUg%26riu%3dhttp%253a%252f%252fimg.pconline.com.cn%252fimages%252fupload%252fupc%252ftx%252fphotoblog%252f1606%252f09%252fc11%252f22613129_1465478292330.jpg%26ehk%3dRsVcxTWo%252f4%252fBxDh9yrKJYEpfgkI7n5SZ8zOP4fOzxOw%253d%26risl%3d%26pid%3dImgRaw%26r%3d0&exph=2136&expw=3216&q=%e8%93%9d%e5%a4%a9%e7%99%bd%e4%ba%91&simid=608042815603765163&FORM=IRPRST&ck=803BE79ECFB56BAE48C57F2B31E69FBA&selectedIndex=0&idpp=overlayview&ajaxhist=0&ajaxserp=0" alt="图片1" width="710" height="904">

二、图像标签( )显示本地图片

2.1直接显示本地图片

<img src="http://127.0.0.1:8080/readImg" alt="图片1" width="710" height="904">

127.0.0.1是本地ip地址,8080是项目启动的端口号。
/readImg表示要请求后台返回一个图片流。下面是java后台处理的代码显示本地D:\img\1.jpg图片

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;

@Controller
public class ShowLocalImg {
    @RequestMapping("/readImg")
    public void readImg1(HttpServletRequest request, HttpServletResponse response){
        FileInputStream in;
        try {
            request.setCharacterEncoding("utf-8");
            //页面img标签中src中传入的真是图片地址路径
            path = "D:\\img\\1.jpg";
            String filePathEcode=new String(path.trim().getBytes(), "UTF-8");
            response.setContentType("application/octet-stream;charset=UTF-8");
            //图片读取路径
            in=new FileInputStream(filePathEcode);
            // 得到文件大小
            int i=in.available();
            //创建存放文件内容的数组
            byte[]data=new byte[i];
            in.read(data);
            in.close();
            //把图片写出去
            OutputStream outputStream=new BufferedOutputStream(response.getOutputStream());
            outputStream.write(data);
            //将缓存区的数据进行输出
            outputStream.flush();
            outputStream.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

2.2 点击按钮显示或者刷新显示本地图片

前端代码:

<!DOCTYPE html>
<html>
<body>
<p id="demo">点击按钮来改变img标签src属性的值。</p>
<button onclick="myFunction()">试一下</button>
<img id="img" src="" width="200"/>
<script>
function myFunction(){
	$.ajax({
        type : 'GET',
        url :  '/readImg',
        success : function (){
          //请求成功,给照片处可以用下面的方法给src属性赋值
          document.getElementById("img").setAttribute("src", "http://127.0.0.1:8080/readImg");
        } 
    });
}
</script>
</body>
</html>

java后端代码:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;

@Controller
public class ShowLocalImg {
    @RequestMapping("/readImg")
    public void readImg1(HttpServletRequest request, HttpServletResponse response){
        FileInputStream in;
        try {
            request.setCharacterEncoding("utf-8");
            //页面img标签中src中传入的真是图片地址路径
            path = "D:\\img\\1.jpg";
            String filePathEcode=new String(path.trim().getBytes(), "UTF-8");
            response.setContentType("application/octet-stream;charset=UTF-8");
            //图片读取路径
            in=new FileInputStream(filePathEcode);
            // 得到文件大小
            int i=in.available();
            //创建存放文件内容的数组
            byte[]data=new byte[i];
            in.read(data);
            in.close();
            //把图片写出去
            OutputStream outputStream=new BufferedOutputStream(response.getOutputStream());
            outputStream.write(data);
            //将缓存区的数据进行输出
            outputStream.flush();
            outputStream.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

如果想要显示指定名称的图片,可以增加一个输入框输入图片名称,在url中传入到后台
前端代码如下:

<!DOCTYPE html>
<html>
<body>
<input type="text" id="picName" placeholder="显示图片">
<button onclick="myFunction()">刷新图片</button>
<img id="img" src="" width="200"/>
<script>
function myFunction(){
	$.ajax({
        type : 'GET',
        url :  '/readImg?picName='+ $('#picName').val(),
        success : function (){
          //请求成功,给照片处可以用下面的方法给src属性赋值
          document.getElementById("img").setAttribute("src", "http://127.0.0.1:8080/readImg");
        } 
    });
}
</script>
</body>
</html>

后台代码:

@RequestMapping("/readImg")
    public void readImg(String picName, HttpServletRequest request, HttpServletResponse response){
        FileInputStream in;
        try {
            request.setCharacterEncoding("utf-8");
            //页面img标签中src中传入的真是图片地址路径
            //String path = request.getParameter("barcode");
            path = "D:\\img\\"+picName+".jpg";
            String filePathEcode=new String(path.trim().getBytes(), "UTF-8");
            response.setContentType("application/octet-stream;charset=UTF-8");
            //图片读取路径
            in=new FileInputStream(filePathEcode);
            // 得到文件大小
            int i=in.available();
            //创建存放文件内容的数组
            byte[]data=new byte[i];
            in.read(data);
            in.close();
            //把图片写出去
            OutputStream outputStream=new BufferedOutputStream(response.getOutputStream());
            outputStream.write(data);
            //将缓存区的数据进行输出
            outputStream.flush();
            outputStream.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

最终效果:
注意:由于在项目中使用了模板,所以input框和按钮显示会跟上述代码中有点不一样。
js修改img的src属性显示变换图片到前端页面,img的src属性显示java后台读取返回的本地图片,前端,javascript,java文章来源地址https://www.toymoban.com/news/detail-632578.html


到了这里,关于js修改img的src属性显示变换图片到前端页面,img的src属性显示java后台读取返回的本地图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 怎么修改svg的颜色? img引入svg图片怎么修改颜色的三种方法

    效果图 此时css对svg文件无法生效,此时要用到CSS3滤镜filter中的drop-shadow,通过生产一个可指定颜色的阴影放置于svg的位置,并将原始svg移出视线 效果图 如果项目中用到svg比较多,前两种方法会比较啰嗦,每次写一遍方法二的样式比较麻烦,这时可以考虑封装组件, 结合实际需要

    2024年02月11日
    浏览(52)
  • 解决在vue中img标签不显示图片的问题

    在vue中, 经常会遇到img标签不展示的问题, 本人遇到两种, 都是因为webpack打包, 导致找不到路径, 所以不现实, 总结几个可以解决本地图片路径显示不出来的问题: 1.把图片放在src同级的static文件夹下。 2.把图片放在cdn上,把网络地址存在imgUrl里,然后直接去展示。 3.图片放在

    2024年02月13日
    浏览(34)
  • HTML img 元素无法显示 base64 图片的可能原因

    如果使用 base64 编码的图片在 HTML 的 img 元素中无法显示,可能有以下几个原因: 1、语法错误:img 元素中的 src 属性必须以 \\\"data:\\\" 开头,后面跟着 MIME 类型和 base64 编码的图片数据。如果这个语法格式有误,就无法正常显示图片。 2、MIME 类型错误:如果指定的 MIME 类型与实际

    2024年02月05日
    浏览(46)
  • Vue3 - vite 引入本地图片方法,页面引入本地静态资源图像详细教程,解决 UI 前端组件库的图片属性无法使用本地图像问题(无论是本地开发还是打包部署,本地图片的路径正常可用)

    在 webpack 中通常用 require() 来引入静态图片,但在 vite 中这种方法就不行了。 本文实现了 在 vue3+vite 项目开发中,实现引入本地图片(静态资源),并且 build 打包后依然正常运行, 支持普通 img 标签使用,也支持 UI 组件库的各种 “图片属性” 当参数进行使用。 如下图所示

    2024年02月08日
    浏览(67)
  • 前端 img图片如何 展示 base64 格式(并且下载到本地)

    如题:最近在做项目发现页面上有些图片是动态获取的,也就是后台给我们返回图片的存放地址,一般都是放在服务器上的某个位置,我们直接拿到渲染一下就行了,(前提是不存在跨域问题), 但是由于项目特殊性,后台使用了Python 渲染出来的图片是svg格式的图片,并且

    2024年02月09日
    浏览(57)
  • 获取到img中src

    let src = str.match(/imgs+(.*?)src=\\\'\\\"/g) let srcs = src.map(item={ let k= item.match(/src=\\\'\\\"[\\\'\\\"]/)[1] return k }) srcs = srcs?srcs:[]

    2024年02月10日
    浏览(35)
  • img标签src动态绑定资源失败问题

    需要采用require的方式进行 在 Vue 中, require 是一个通用的模块加载函数,用于在运行时(客户端或服务器端)引入模块。它通常用于加载 JavaScript 文件、JSON 数据、静态资源等。 组件使用:  组件代码: 此时就可以实现正常的访问指定路径下的静态资源了。 原先的时候直接

    2024年02月07日
    浏览(49)
  • 使用html2canvas将整个元素导出为图片,其中包含svg和img,解决img跟svg导出时img或svg(canvg处理)不显示的问题,以及相关优化

    目录 前言 一、准备 二、解决问题 1.将svg跟img转为canvas的方法 2.将base64转换成file文件的方法 3.点击下载使用方法 1).对dom没有处理,需求只是将图片导出即可  2).涉及对dom的拖拽,流程图之类的(需复制dom,在复制的dom上进行处理)  三、效果图如下 查阅很多相关的文章和

    2024年01月20日
    浏览(63)
  • vue中如何动态配置img标签的src

    我遇到问题:        我在做项目的时候,要根据后台给我返回的天气数据,然后动态的显示天气的图片,比如后台给我返回的数据是“晴”,那么大屏就要显示晴的图片,如果,后台给我返回的数据是“阴”,那么我就需要在大屏上显示阴的图片,但是我在给src动态的设置

    2024年02月14日
    浏览(35)
  • 图片:前端展示图像(img 、picture、svg、canvas )及常用图片格式(PNG、JPG、JPEG、WebP、GIF、SVG、AVIF等)

    一、浏览器网页展示图片方法 1.1、HTML img 标签 img 标签常用属性 序号 属性 描述 1 src 用于指定图片的 URL 或路径。 2 alt 用于当图片无法展示时显示的替代文本,seo优化时要注意添加这个属性。 3 width/height 用于指定图片展示的宽度和高度。如果只指定其中一个值,那么另一个

    2024年02月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包