image标中图片不显示问题
最近项目中遇到的一个问题,后台上传的图片在前台展示时,部分图片不显示,因为图片是通过循环出来的,所以经过排查,觉得问题应该出在图片路径上面,上图:
真机测试,获取到的图片路径以http://cimg开头的图片并没有显示出来,测试工具:
*后来经过排查踩坑发现,获取到的图片路径中如果带有括号及特殊字符的话,有小部分是渲染不出来的,
解决
我们要在用户上传图片时做处理,不能直接将用户上传图片作为路径名,使用正则过滤掉文件名中的特殊字符
function stripscript(s) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs + s.substr(i, 1).replace(pattern, '');
}
return rs;
}