2011-11-06 4 views
0

JavaScript로 URL을 변수로 설정했습니다. 마찬가지로 :자바 스크립트로 파일을 이미지로 분류

var imageurl='example.com/test/real/image.jpg'; 

나는이 이미지 URL인지 아닌지 (JPEG, JPG, GIF, PNG 등으로 끝나는)를 인식하려합니다.

charAt를 사용했지만 사용하지 못했습니다.

이미지 URL 인 경우 1을 반환하고 그렇지 않으면 자바 스크립트를 사용하는 경우 0을 반환하는 가장 좋은 방법은 무엇입니까?

+0

http://stackoverflow.com/questions/680929/how -to-extract-extension-from-filename-string-in-javascript – david

+0

수락되었습니다. 이제 이것을 닫을 수 있습니다. – David19801

+5

웹에서 파일 확장명이 URL이 이미지를 가리키는 지 여부를 전혀 말할 수 없다는 것을 알고 계십니까? 이러한 엔딩 중 하나가없는 URL은 이미지를 반환하고 반대로 ** 이러한 확장자는 ** 이미지 만 반환하는 URL을 가질 수 있습니다. – RoToRa

답변

3

나는 이것이 이미지 URL인지 (jpeg, jpg, gif, png 등으로 끝나는 지)를 알아 내려고하고 있습니다.

파일 확장자 (있는 경우)는 URL이 이미지 유형 인 자원을 가리키는 지 여부와 관련이 없습니다. 이것은 정적 인 자원을 위해 일부 사람들이 사용하는 규칙 일뿐입니다. 이미지에 URL 포인트가 해당 URL을 가져올 수 있는지 알 수있는 유일한 방법

// User browser's built-in URL parsing to discard query string etc 
// 
var a= document.createElement('a'); 
a.href= url; 
var ext= a.pathname.split('.').pop().toLowerCase(); 
var mightbeimage= ext=='gif' || ext=='jpeg' || ext=='jpg' || ext=='png'; 

하지만 정확성을 위해 : 당신은 단지 일반적인 발견 적으로 필요한 경우 파일 확장자를 보면

충분히 할 수있다 돌아 오는 것을 보아라. 일반적으로 URL에 HEAD 요청을 보내고 응답의 헤더에 Content-Type: image/something이 포함되어 있는지 확인하면됩니다.

당신은 브라우저 자바 스크립트에서 직접 그렇게,하지만 당신이 할 수있는 것은 이미지 요소를 생성하고 볼 수 확인을로드하는 경우 :

function checkImage(url, callback) { 
    var img= new Image(); 
    img.onload= function() { callback(true); } 
    img.onerror= function() { callback(false); } 
    img.src= url; 
} 

checkImage('http://www.google.co.uk/images/srpr/logo3w.png', function(isimage) { 
    if (isimage) 
     alert('Yes, it is an image'); 
    else 
     alert('Nope, not an image, or does not exist or other error'); 
}); 
0

사용 lastIndexOfsubstring는 파일 확장자를 얻고 관심있는 다른 이미지 유형에 저것을 비교

여기
3

당신이 이동합니다.

var imageurl = 'example.com/test/real/image.jpg'; 
ext = imageurl.split('.').reverse()[0]; 
if (['jpg','gif','png'].indexOf(ext.toLowerCase()) > -1) { 
    console.log('true!'); 
} else { 
    console.log('false!'); 
} 
0

시도 :

var fileName = "'example.com/test/real/image.jpg'"; 
alert(fileName.substring(fileName.lastIndexOf('.') + 1)); 

파일 확장자를 얻습니다. 조건에 따라 파일을 조작합니다.

var imageurl = "some.gif"; 
imageurl.match("(?:png|jpe?g|gif)$"); 
// returns ['gif'] 

그것은 특히 전체 또는 우아한 해결책은 아니지만, 그것을 작동합니다 : 당신은 그냥 문자열에서 사물을 파악하는 방법 후 경우

1

, 다음 사용해보십시오.

관련 문제