Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi EInvaildGraphic (.jpg) bei download mit indy (https://www.delphipraxis.net/152481-einvaildgraphic-jpg-bei-download-mit-indy.html)

SyntaxXx 24. Jun 2010 06:51

EInvaildGraphic (.jpg) bei download mit indy
 
Hallo zusammen,

hab nun eine kleine Frage.
Und zwar möchte ich ein Bild herunter laden via Indy.

Normalwerseise funktioniert das auch wunderbar, nur hier jetzt eben nicht.
Das komische ist, was mir aufgefallen ist, dass in der URL vom Bild keine Endung steht.
So siehts aus:

www.beispiel.de/images/bild

Normalerweise müsste es aber ja so aussehen:

www.beispiel.de/images/bild.jpg


Das komische ist nur, wenn ich das Bild manuel abspeicher (Rechter Mausklick, Bild speichern) dann lädt Firefox das als .jpg herrunter.


So sieht mein Code aus:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var lstream : TFileStream;

begin
lstream := TFileStream.Create('Bild.jpg', FMCreate);
idhttp1.Get('www.beispiel.de/images/bild', lstream);
Form1.Image1.Picture.LoadFromFile('Bild.jpg');
FreeandNil(lstream);

end;

Könnt ihr mir sagen, warum ich den Fehler: EInvaildGraphic "Unbekannte Datei (.jpg)" bekomme?

Bzw. wie ich es machen kann, das Bild zu laden?

mkinzler 24. Jun 2010 06:55

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Sollte es nicht
Delphi-Quellcode:
idhttp1.Get('www.beispiel.de/images/bild,jpg', lstream);
heissen?
Wird auch wirklich binär übertragen?

SyntaxXx 24. Jun 2010 06:58

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Achja genau, was auch komisch ist, wenn ich das Bild direkt über die URL aufrufen möchte, kann ich es auch nur so aufrufen:

www.beispiel.de/images/bild

Sobald ich an die URL das .jpg anhänge bekomme ich nen Fehler auf der Seite, dass das Bild nicht existiert.


Blöde Frage, aber was meinst du mit Binär?

idefix2 24. Jun 2010 07:50

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Bist Du sicher, daß das Format wirklich jpg ist? Nachdem auf der URL keine Extension sichtbar ist, könnte es alles mögliche sein, wo dann nichts hearauskommt, wenn Du das Bild als jpg darstellen willst (png oder weiss der Kuckuck was sonst).

mkinzler 24. Jun 2010 07:54

AW: EInvaildGraphic (.jpg) bei download mit indy
 
In diesem Fall könntest du das Bild in IrfanView o.ä. öffnen. das Programm sagt dir dann, ob es das Format erkennt und welches es ist

franktron 24. Jun 2010 08:30

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Ich würde mal sagen das es ein Problem mit der Freigabe des Stream geben könnte

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var lstream : TFileStream;

begin
lstream := TFileStream.Create('Bild.jpg', FMCreate);
idhttp1.Get('www.beispiel.de/images/bild', lstream);
FreeandNil(lstream); << So ist besser
Form1.Image1.Picture.LoadFromFile('Bild.jpg');

end;
Und warum nicht gleich vom Stream Laden und erst auf der HDD zwischenspeichern.

SyntaxXx 24. Jun 2010 12:41

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Ok ich komme nicht hinter.
.jpg, .gif, .png, .bmp sind es nicht.

Schaut es euch am besten mal selber an.
Vielleicht kommt ihr ja drauf.


Aber kurze frage, hab jetzt auch mal versucht das Bild direkt von Stream aus zu laden, nur weiß ich nicht wie das gehen soll.

Habs mal so versucht aber dann wir mir gesagt das String und stream keine kompatieblen Typen sind.

Code:
Form1.Image1.Picture.LoadFromFile(lstream);
Auch mit Form1.Image1.Picture.Assign gehts nicht.


PS: Achja das ist der Link zum Bild:

https://customer.cc.at.paysafecard.c...source/captcha

DeddyH 24. Jun 2010 12:48

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Aber mit LoadFromStream sollte es gehen. Dann bräuchte man vermutlich auch keinen FileStream mehr, sondern käme mit einem MemoryStream aus.

Daniel 24. Jun 2010 13:49

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Du möchtest ein Captcha mit INDY herunterladen, um es dann weiter zu verarbeiten?
:gruebel: hm. Bist Du sicher, dass dies im Sinne von PaySafeCard ist? Wenn das nämlich nicht so sein sollte, wäre hier Schluss mit der Fragestunde.

SyntaxXx 24. Jun 2010 17:26

AW: EInvaildGraphic (.jpg) bei download mit indy
 
Also ich hatte vor mir einen PSC Manager zu Coden.
Dort gebe ich nur meine PSC ein und es wid nur geprüft wie viel Guthaben noch drauf ist.
Ich hoffe dass das nichts Illegales ist.
Ich ich bezahle bei Amazon eigendlich nur mit PSC und da kommt es bei mir oft vor, das meine PSCs nicht mit mit vollem Guthaben sind.
Und um das im Überblick zu haben, wollte ich mir eben dieses Tool coden.

Ich habe nicht vor gegen irgendelche Rechte zu verstoßen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz