我正在尝试检查由获取导致的图像状态。 如果结果是404,我必须显示其他图像, 图片链接始终存在,但有时图片还可以返回另一个返回值404。
我在做什么错?谢谢!
已经尝试:
if(data['img_info'] == 404) // always returns false even the image link is broke.
also whit data['img_info'].naturalWidth === 0 // whit the same result..
finaly i use the catch..
代码如下:
fetch('url')
.then(function (response) {
return response.json();
}).then(function (data) {
const img_info = data['img-info']
$('#content').css({'background-image' : 'url(' + img_info + ')','background-size': 'cover'})
}).catch(function () {
console.log('error')
const img_default = 'http://localhost/img/img-default.png'
$('#content').css({'background-image' : 'url(' + img_default + ')','background-size': 'cover' })
console.log("Error");
});
在反应组件中也会发生同样的情况。即使图像破裂了
addDefaultSrc(ev){
ev.target.src = 'http://localhost/img/img-default.png'
}
<img onError={this.addDefaultSrc} className="img-slider img-responsive" src={this.props.program['img-info']} />