2016-09-16 4 views
0

JS - instanceofで画像またはビデオを表示しますか?私はこのようなcloudinary画像/動画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がこれを行うことができるかもしれないと思っていたが、私はそれを以前に使ったことはない。どんな助けも大いにありがたくなるでしょう

答えて

0

$_uploadの源は、あなたがresource_type値を持っているよりもアップロードの応答であると仮定します。リソース(イメージ、ビデオ、生データ)を区別するために公開IDと結合したresource_typeの値が必要です。スイッチケースブロックを使用して、正しいタグを生成することができます。例えば

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

switch ($result["resource_type"]) { 
    case "image": 
    // generate image tag 
    break; 
    case "video": 
    // generate video tag 
    break; 
} 
関連する問題