2012-02-18 1 views
1

У меня есть веб-сервис для обработки изображений, как это: http://test.com/image-url?http://someimage.jpgКак определить, если изображение является URI или миниатюрное В JavaScript

Проблема заключается в том, когда я извлечения изображений из Google Images, они возвращаются либо URI : данные: изображение/JPEG; base64,/ иЛИ миниатюрное: http://t2.gstatic.com/images?q=tbn:ANd9GcTwwtBgTsExgE2WP

Как я могу определить, является ли URL изображения URI или эскиз с помощью JavaScript, так как мой веб-сервис работает только на реальном изображении ?

PS: Я понимаю, некоторые изображения URL может выглядеть так: test.com/images=12345

ответ

2
if (urlToImage.indexOf('data:image/') == 0) { 
    // URI 
} else { 
    // thumbnail 
} 
  • если ваш urlToImage имеет 'данные: изображение /' в начале этого, чем это еще раз миниатюра URI.
+0

Hai Greg благодарит за ваш быстрый ответ. Если URL-адрес http: //test.jpg, я предполагаю, что ваш код пойдет в миниатюру? –

+0

Да, будет. Так как у него нет «данных: image /» в начале его. Если вы хотите только принимать изображения с полным URL-адресом, вы должны использовать регулярное выражение. – 19greg96

+0

Что-то вроде if (/ (https?: \/\ /)? (Www \.)? ([A-zA-Z0-9 _%] *) \ b \. [Az] {2,4} (\ . [AZ] {2})? ((\/[A-Za-Z0-9 _%] *) +)? (\. [AZ] *)? (\? ([A-Za-z0-9_% ] *) +)/g.test (urlToImage)) {// эскиз } иначе, если (urlToImage.indexOf (? 'данные: изображения /') == 0) {// URI, } еще { // ничего из вышеперечисленного } – 19greg96