• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak sprawdzić rozszerzenie obrazu mając jego adres URL - bez analizowania adresu i bez pobierania go poprzez np. fetch.

Object Storage Arubacloud
+1 głos
184 wizyt
pytanie zadane 16 września 2020 w JavaScript przez Artek Stary wyjadacz (11,800 p.)
Tak jak w temacie. Szukałem chyba dwie godziny i nic nie znalazłem. Mamy adres URL z obrazem i chcemy pobrać informację o jego rozszerzeniu(png, jpg itp.) Analizowanie samego adresu URL jest nieskuteczne bo nie zawsze w adresie jest rozszerzenie pliku np. tutaj https://yt3.ggpht.com/a/AGF-l7-jbZb4m1_gpkhQCXHBd9xbM0PXao49LU-_YA=s128-c-k-c0xffffffff-no-rj-mo   . Pobieranie obrazu poprzez np. fetch api też jest problematyczne bo S.O.P często blokuje requesty. Jak zatem do tego podejść?

1 odpowiedź

+2 głosów
odpowiedź 16 września 2020 przez adrian17 Ekspert (346,320 p.)

Bez zapytania się nie da. Ale nie musisz pobierać całego pliku; możesz rozpocząć zapytanie do tego URLa i spojrzeć na same nagłówki odpowiedzi - zobaczysz to:

content-type: image/jpeg

 

komentarz 16 września 2020 przez Artek Stary wyjadacz (11,800 p.)
No dodam tylko, tak na przyszłość, że w takiej sytuacji mode : 'no-cors' jest raczej wymagany. Przed chwilą sprawdzałem używając fetch raz z mode : 'no-cors' i bez tego. Gdy było bez mode : 'no-cors' rządanie dla niektórych zasobów wyrzucało w konsoli błąd na temat CORS.
komentarz 16 września 2020 przez Artek Stary wyjadacz (11,800 p.)
okazuje się, że dla niektórych zasobów ten sposób działa a dla niektórych nie. Np. ten  https://www.discordavatars.com/wp-content/uploads/2020/07/dc-comic-character-avatar-078.jpg
komentarz 16 września 2020 przez ScriptyChris Mędrzec (190,190 p.)

okazuje się, że dla niektórych zasobów ten sposób działa a dla niektórych nie

Niektóre serwery mogą nie ustawiać nagłówków CORS dla swoich zasobów.

komentarz 16 września 2020 przez Artek Stary wyjadacz (11,800 p.)
Dokładnie tak, brakuje nagłówka Access-Controll-Allow-Origin
2
komentarz 16 września 2020 przez Artek Stary wyjadacz (11,800 p.)
Po dłuższym namyśle dochodzę do wniosku, że aby uniknąć cyrków z S.O.P i tym podobnych rozwiążę to w taki sposób, że wyślę rządanie do serwera mojej aplikacji z adresem url obrazu i tam dokonam walidacji.

Podobne pytania

0 głosów
1 odpowiedź 189 wizyt
pytanie zadane 27 kwietnia 2021 w JavaScript przez Kamila Użytkownik (680 p.)
0 głosów
1 odpowiedź 194 wizyt
pytanie zadane 10 stycznia 2018 w JavaScript przez rafal.budzis Szeryf (85,260 p.)
+1 głos
1 odpowiedź 1,033 wizyt

92,684 zapytań

141,589 odpowiedzi

320,073 komentarzy

62,044 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...