问题:需要浏览器动态加载一个文件,但是该文件存在与否不能确定
根源:浏览器不提供文件读写的能力,不是nodejs /java 可以直接与操作系统打交道
解决方法:通过 html标签的读取能力,以图片为例,通过new Image()对象给src加上sr后,在回调onload种判断是否有文件大小等属性,间接判断文件是否存在
对于其他类型的文件参考( https://www.w3school.com.cn/html5/html5_object.asp )Object标签应该也是可以的(没试过🙃)
//tool-判断图片是否存在
checkImgExists(imgurl) {
return new Promise((resolve, reject) => {
var ImgObj = new Image(); //判断图片是否存在
try {
ImgObj.src = require("../../../../static/img/" + imgurl + ".png");
}catch (rtt) {
resolve(false);
ImgObj = null;
}
ImgObj.onload = function () {
if (ImgObj.naturalWidth > 0) {
resolve(true);
ImgObj = null;
} else {
resolve(false);
ImgObj = null;
}
};
});
}
浙公网安备 33010602011771号