Jest to plik jpg, a jest problem.

Jest to plik jpg, a jest problem.
KD
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:53
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


Niech wiek nie ogranicza chęci poszerzenia horyzontów!
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
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.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 2x, ostatnio: Shalom
KD
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:53
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.


Niech wiek nie ogranicza chęci poszerzenia horyzontów!
edytowany 1x, ostatnio: KaDwa
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KD
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:53
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.


Niech wiek nie ogranicza chęci poszerzenia horyzontów!
KD
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:53
0

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

Kopiuj
    #  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')


Niech wiek nie ogranicza chęci poszerzenia horyzontów!
AN
  • Rejestracja:około 19 lat
  • Ostatnio:3 minuty
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.

KD
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:53
0

@andrzejlisek:

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

Kopiuj
    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')

Niech wiek nie ogranicza chęci poszerzenia horyzontów!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.