我正在开发一个应用程序,它将向客户端提供一些图像,有时图像可能是空白的,我们使用spring mvc作为控制器,这是核心代码:
@RequestMapping
public ResponseEntity<byte[]> getImg(String id) {
byte[] res = imgService.find(id); // this res may be null
headers.setDate("Expires", System.currentTimeMillis() + 24 * 3600 * 1000 * 7);
return ResponseEntity.ok().headers(headers).contentType(MediaType.IMAGE_PNG).body(res);
}
如图所示,无论图像是否存在,响应代码始终为200。
在我加载图片后的客户端,我将为图片添加onerror
事件,但是我发现一旦服务器找不到图像就会触发onerror
事件(即正文可能为空),即使状态代码为200。
然后,我尝试在缺少所需图像后返回固定图像,并且不会触发onerro
事件。
所以我想知道浏览器如何认为某个img加载错误,似乎它不是基于状态代码。
关于此的任何文件?