使用instanceof显示图像或视频

JS - Display either image or video with instanceof?

本文关键字:视频 图像 显示图 instanceof 显示 使用      更新时间:2023-09-26

我得到像这样的云图像/视频ID:

<?php echo cloudinary_url($_upload->getPublicId()); ?> 

给出如下URL:http://res.cloudinary.com/dviiu412p/image/upload/v1/campaigns/1/jfle7ilxkyfmj9mjggwa

然后将其渲染为图像或视频,如下所示:

<img class="lazy-load"
    src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
    data-src="<?php echo cloudinary_url($_upload->getPublicId()); ?>" />
<video class="lazy-load" controls>
    <source data-src="<?php echo cloudinary_url($_upload->getPublicId(), array("resource_type"=>video, "height"=>230, "width"=>340, "format"=>webm)); ?>" type="video/webm">
</video>

问题是我只想提供图像或视频(无论用户上传的是哪个)。我有办法做到这一点吗?我在想instanceof可能可以做到这一点,但我以前从未使用过它。如有任何帮助,不胜感激

假设$_upload的源是上传响应,那么您也会得到resource_type的值。您需要将resource_type的值与公共ID相结合,以区分资源(图像,视频或raw)。然后,您可以使用switch-case块来生成正确的标签。

例如,

<!-- language: lang-php -->
switch ($result["resource_type"]) {
  case "image":
    // generate image tag
    break;
  case "video":
    // generate video tag
    break;
}