当前位置: 首页 > 面试题库 >

加载图像(如果找到),否则加载其他图像

陆光济
2023-03-14
问题内容

我需要做的事情很简单,但是(对我来说)很难做到:

使用 html" target="_blank">javascript ,给定图像名称,即“
image01.jpg”,我需要检查该图像是否存在于某个文件夹或路径(本地或网络)中。如果该文件夹下不存在该图像,则需要检查另一个文件夹中是否存在同一图像。

例如,使用伪代码

imageToFind = 'image01.jpg'
path1 = 'users/john/images'
path2 = 'users/mike/img'

if path1+'/'+imageToFind exists
    //do something
else
    if path2+'/'+imageToFind exists
        //do something
    else
        print('NOT FOUND')

您建议采用哪种方法?我尝试先使用ajax来实现此目的,然后使用javascript的Image()来实现,但是在这两种情况下都失败了。

预先感谢您的任何帮助,最好的问候


问题答案:

您几乎可以依赖为 Image节点 触发的本机onloadonerror事件处理程序。所以看起来像 __

var images = ['users/john/images/image01.jpg','users/mike/img/image01.jpg','some/more/path/image01.jpg'];

(function _load( img ) {
    var loadImage = new Image();

    loadImage.onerror = function() {
        // image could not get loaded, try next one in list
        _load( images.shift() );
    };
    loadImage.onload = function() {
        // this image was loaded successfully, do something with it
    };

    loadImage.src = img;
}( images.shift() ));

此代码可能比您实际要求的要多。您基本上可以在阵列中添加任意数量的 图像路径 ,但脚本将搜索列表,直到成功加载一张图像为止。



 类似资料:
  • 查看此代码笔,了解简单的vuetify设置。 https://codepen.io/khoulaiz/pen/gObJPxO?editors=1010 中间图像将无法加载。我有一个错误处理程序,其中我想用一个工作映像替换失败映像的src属性,并在其中强制重新加载映像。 我能够替换失败映像的src,但我在强制重新加载v-img的所有尝试中都失败了。 到底为什么我没有得到一个失败加载的v-img的参考

  • 本文向大家介绍Android 加载图像,包括了Android 加载图像的使用技巧和注意事项,需要的朋友参考一下 示例 影像检视 要将图像从指定的URL,Uri,资源ID或任何其他模型加载到ImageView: 对于Uris,请替换yourUrl为您的Uri(content://media/external/images/1)。对于可绘制对象,请替换yourUrl为您的资源ID(R.drawable

  • 问题内容: 该医生说:。因此,正如我所言,我已经将自己放在文件夹中,然后尝试从文件中加载。现在我有2个错误:1)来自:。2)来自我: webpack.config.js 如果我看到自己的代码,则可以清楚地看到css位于内部,因此正如文档所述,我已将映像的路径指向了根目录,但仍然无法修复。 更新: 我已经安装并按照说明进行操作,现在在控制台中收到此错误: 问题答案: 为了解决这个问题,我已经上传了这

  • 我将图像路径(来自图库的图像)存储在SQLite数据库中,现在加载到图像视图中。。。并使用此代码: 和错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/storage/emulated/0/DCIM/Camera/IMG_20161230_224205.jpg(权限被拒绝)

  • 我想在对话框窗口中显示图像(保存在项目文件夹中),但当我运行我的方法showDialogWithImage时,我会得到文件NotFoundException:imgs\pic1。jpg(系统无法找到指定的文件),尽管图像位于那里。 我也尝试过以这种方式加载图像: Image=new Image(getClass(). getResourceAsStream(path));,但遇到了同样的问题。 是

  • 问题内容: 我想在对话框窗口中显示图像(保存在项目文件夹中),但是当我运行方法showDialogWithImage时,我得到FileNotFoundExcpetion:imgs \ pic1.jpg(系统找不到指定的文件),尽管图像位于此处。 我也尝试过以这种方式加载图像: Image image = new Image(getClass()。getResourceAsStream(path))