2016-09-16 90 views
0

我越来越喜欢这个cloudinary图像/视频ID:JS - 用instanceof显示图像或视频?

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

这给像网址: 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可能能够做到这一点,但我从来没有使用过它。任何帮助将不胜感激

回答

0

假设$_upload的来源是上传响应比你也有resource_type值。您需要将值resource_type与公共ID一起用于区分资源(图像,视频或原始资源)。然后,您可以使用开关盒来生成正确的标签。

例如,

<!-- language: lang-php --> 

switch ($result["resource_type"]) { 
    case "image": 
    // generate image tag 
    break; 
    case "video": 
    // generate video tag 
    break; 
}