Jest to plik jpg, a jest problem.

0

Ten plik, pobrany z sieci ale ma jakieś ograniczenia.
Nie mogę go nawet tu dołączyć. Windows wgrywa i widzi jako jpg ale np wgranie do kontrolej jako jpg też zgłasza że to zły format. Co może być nie tak ?
Można go porać przy pomocy IE/EDGE:
https://e.allegroimg.com/s128/030850/36aaf26f4ee3a33c33251b438f6e/MATA-WYKLADZINA-GUMOWA-AUTO-BUS-MAGAZYN-SKLEP-140c

1

Bo to nie jest JPG? o_O Popatrz na niego w hexedytorze...

MATA-WYKLADZINA-GUMOWA-AUTO-BUS-MAGAZYN-SKLEP-140c.webp: RIFF (little-endian) data, Web/P image

Skopiuj zawartość do jakiegoś painta i zapisz jako jpg.

0

@Shalom:
Słuszna uwaga, też bym tak zrobił. Jednak tego jest zbyt wiele aby było to dobre rozwiązanie. Czekając na podpowiedzi, szukam według wskazanego tropu.

0

To napisz sobie skrypt który zrobi to za ciebie? o_O Jakiś imagemagic raczej ogarnia konwertowanie tego do jpg

0

Dzięki !

Szedłem tym tropem, jak plik miał rozszerzenie webp. Ale jak udało mi się go pobrać jak jpg to nie muszę konwertować. To mnie trochę zmyliło, ale jak pojawiły się problemy nie umiałem sprawdzić co jest nie tak z plikiem.

0

Udało się i działa, trochę pokracznie mi to wyszło. Da rady prościej?

    #  Czytam plik z www
    r = req.get(plik_AdresUrl, stream=True, headers=headers)

    # Zapisuję na dysku pobrane zdjęcie webp (jpg)
    with open(pliki_AktualnyKatalog + '\\Miniaturki\\' + plik_Nazwa, 'wb') as img:
       img.write(r.content)
    
    # Pobieram z dysku zapisane zdjęcie webp (jpg) i po konwersji zapisuje jako jpeg
    im = Image.open(pliki_AktualnyKatalog + '\\Miniaturki\\' + plik_Nazwa).convert("RGB")
    im.save(pliki_AktualnyKatalog + '\\Miniaturki\\' + plik_Nazwa, 'jpeg')

2

Proponuję sprawdzić działanie Image.frombytes, może to jest to, czego szukasz. Nie ma potrzeby zapisywać pobranego pliku na dysk tylko po to, żeby za moment go otworzyć jako obraz i zapisać w innym formacie. Jako dane binarne podstawisz to, co się pobrało jako webp.

0

@andrzejlisek:

Dzięki za wskazówkę. Rozwiązałem to inaczej i działa:

    import io
    r = req.get(plik_AdresUrl, stream=True, headers=headers)

    im = Image.open(io.BytesIO(r.content)).convert("RGB")
    im.save(pliki_AktualnyKatalog + '\\Miniaturki\\' + plik_Nazwa, 'jpeg')

1 użytkowników online, w tym zalogowanych: 0, gości: 1