javascript – So ermitteln Sie in js, ob ein Bild Base64 ist
巴扎黑
巴扎黑 2017-07-05 11:05:26
0
6
1901

Mehrere IMG-Tags, jedes Tag hat eine andere Quelle,

Jetzt müssen wir eine unterschiedliche Verarbeitung für Bilder durchführen, deren Quelle Base64-codiert ist, und für Nicht-Base64-Bilder,

Wie soll JavaScript unterscheiden, ob das Bild Base64 ist?

巴扎黑
巴扎黑

Antworte allen(6)
漂亮男人

BASE64码开头都是形如data:image/xxx;base64,xxxxxx...的,所以写个正则测试一下src就可以了

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

非base64图片都是URL地址吗

给我你的怀抱

直接根据src开头匹配就行

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

要用startWith,这样效率高:

$('img').each((i,item)=>{
    let src = item.src
    if(src.startWith('data:image')){
        // base64 图片操作
    }else{
        //path 图片操作
    }
})
phpcn_u1582
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;
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage