外网访问内网图片,遍历图片img,给src赋值

在进行文章管理时遇到一个问题:内网编辑的文章包含图片,通过富文本编辑器推送到外网,由于图片地址在内网,导致外网无法访问。为了解决这个问题,需要在服务器端将图片地址转换后再传递给浏览器,确保内外网在同一网段。本文提供了前端和后端的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做文章管理的东西,内网编辑文章,文章包含图片,使用富文本编辑框编写文章,推送到外网,外网推送到微信,但是图片地址是在内网服务器下,html图片访问是浏览器请求所以访问不到内网图片,需要先在服务器端转化再传到浏览器才可以,内外网要在同一个网段才可以;先上前端代码

<script type="text/javascript">
	function load() {
		var arr = [];
		//获取全部图片的src
		$('img').each(function(){
		    arr.push($(this).attr('src'));
		})
		//获取全部img标签
		var img=$("img");
		//遍历所有标签和后台交互重新为src赋值
		for(var i=0;i<arr.length;i++){
			$("img")[i].src="http://uiq5gd.natappfree.cc/WeiXinSSM/wei/getImg?addr="+arr[i];
		}
	}
	</script>

后端代码

/**
     * 根据图片的地址,来获取图片(来自网络)
     * @param addr
     * @param response
     */
    @ResponseBody
    @RequestMapping("/getImg")
    public void getImg(@Param("addr")String addr,HttpServletResponse response){
        BufferedImage img = new BufferedImage(300, 150, BufferedImage.TYPE_INT_RGB);
        //内网ip和图片路径
        addr="http://192.168.2.39:8080"+addr;
        img = t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值