Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment déterminer si une image est en base64 en js

Plusieurs balises img, chaque balise a un src différent,

Maintenant, nous devons effectuer un traitement différent pour les images dont le src est encodé en base64 et les images non base64,

Comment JavaScript doit-il distinguer si l'image est en base64 ?

巴扎黑巴扎黑2663 Il y a quelques jours1877

répondre à tous(6)je répondrai

  • 漂亮男人

    漂亮男人2017-07-05 11:07:26

    Les codes BASE64 commencent toujours par la forme data:image/xxx;base64,xxxxxx..., alors écrivez simplement une expression régulière et testez src

    répondre
    0
  • 阿神

    阿神2017-07-05 11:07:26

    $('img').each((i,item)=>{
        let src = item.src
        if(src.indexOf('data:image/jpg;base64,')>-1){
            // base64 图片操作
        }else{
            //path 图片操作
        }
    })

    répondre
    0
  • 为情所困

    为情所困2017-07-05 11:07:26

    Est-ce que toutes les adresses URL des images ne sont pas en base64 ?

    répondre
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-05 11:07:26

    Juste correspondre selon le début de src

    $('img').each((i,item)=>{
        let src = item.src
        if(src.indexOf('data:image')>-1){
            // base64 图片操作
        }else{
            //path 图片操作
        }
    })

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 11:07:26

    Vous devez utiliser startWith, qui est plus efficace :

    $('img').each((i,item)=>{
        let src = item.src
        if(src.startWith('data:image')){
            // base64 图片操作
        }else{
            //path 图片操作
        }
    })

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-07-05 11:07:26

    function validDataUrl(s) {
        return validDataUrl.regex.test(s);
    }
    validDataUrl.regex = /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i;
    
    module.exports = validDataUrl;
    

    répondre
    0
  • Annulerrépondre