网页图片显示x是怎么回事?网页打开图片显示x

在运行的项目中发现,某些图片上传后,在线查看图片时,图片处显示X不显示,排查后发现是由于特殊符号问题,需要进行处理。

正常图片中可能包含中文需要进行编码处理:

java.net.URLEncoder.encode(filename, "UTF-8");

以上正常情况下转换后的URL是能够显示的,但是对于图片来说,需要将图片呈现在浏览器中,有两个特殊字符如果出现的话是不会显示,只会出现X

  • 1.空格:空格在url中会显示为“+”号,有+号的话则不能显示图片,需要输出时转换其为“%20”
java.net.URLEncoder.encode(filename, "UTF-8").replaceAll("\\+","%20");
  • 2.“%”:%符号会在url中编码为“%25”,此编码也不能显示图片,直接处理不了url符号,因此我们在上传图片的过程中作替换处理即可
//图片名中的“%25”因在浏览器中不能直接显示,随便替换一个符号
String filename = file.getOriginalFilename().replaceAll("%","b");

%符号的url转换不显示图片,我不清楚是否还有其他方法,上传图片时替换处理虽然能解决,但是图片名称被替换了(虽然影响不大)。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享