gpt4 book ai didi

java - 验证码图像返回二进制数据?如何显示这个?

转载 作者:行者123 更新时间:2023-11-29 06:18:45 24 4
gpt4 key购买 nike

我正在从基于 Java 的包“SimpleCaptcha”中检索验证码图像

在前端,我只是将以下内容放入我的页面,然后我得到了一个验证码图像:

<img src="stickyImg" />

我想使用 javascript 在点击时重新加载此验证码图像。

我试过:

$("#theclickhandler").click(function(){  
$("#stickyImg").load('stickyImg', function(response){
$("#stickyImg").attr('src', response);
});
return false;
});

这得到了图像但输出了这样的东西(明显缩短了很多):

<img src="captcha image�PNG �ݚ��L�23U�݆�}$�J����Dy����IEND�B`� ">

对我来说,这看起来像是原始的二进制数据。 我如何让它发挥作用?

最佳答案

图像标签的 src 属性向浏览器指定要加载图像的位置,而不是图像的内容。因此,您将图像的内容塞进了您希望位置所在的位置,这给您带来了垃圾,因为它根本没有意义。

因此,要重新加载图片,您需要告诉浏览器图片地址已更改。仅仅将图像的 src 属性中的位置重写为相同的地址是不够的——这不会告诉浏览器更改任何内容。你可以通过在查询字符串中填充一些随机数据来克服这个问题,比如请求的时间。就像@mikerobi 建议的那样,您可以重写 src 标记,这里修改为在查询字符串中放置时间戳(您的 servlet 几乎肯定会忽略它):

$('#stickyImg').attr('src', 'stickyImg?' + (new Date().getTime()));

关于java - 验证码图像返回二进制数据?如何显示这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4061646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com