![]() |
jpg mit idhttp downloaden --> jpg kaputt ??? warum das?
hi,
ich downloade eine liste von jpg's mit hilfe von idHTTP, soweit klappt auch alles, die datei kommt auch im richtigen verzeichnis an. wenn ich mir die datei dann allerdings genauer ansehe ist sie statt der eigentlichen ca 1000kb nur ca 12kb groß, und will ich sie mit irfanview öffnen kommt die meldung das der datei header nicht mehr lesbar ist ?! Hat jemand eine idee woran das liegen könnte? wenn ich denn link in den browser eingeben komm ich zu dem bild und es ist alles in ordnung!, also am bild lieg es schon mal nicht, auch der link den idhttp bekommt ist der richtige. mfg andreas PS: das ist das erste mal das ich mit indy arbeite, aber ich habe es nazu 1:1 aus einem beitrag hier im forum abgetippt, nichts desto troz ist hier noch mal ein bisschen code:
Delphi-Quellcode:
EDIT: zwei unrelevate sachen im code geändert
for I := 1 to pdl.Count - 1 do //i = 1 da der erste eintrag in dieser stringlist die url ist
begin if Abbruch then begin break; end; url := pdl[0]+'/'+pdl[i]; label10.Caption:= pdl[i]; if edit4.Text = '' then begin Ziel := Pfad+'\'+pdlName+'\'+pdl[i]; end else begin Ziel := Pfad+'\'+pdlName+'\'+Edit4.Text+' '+ nullen(picnr)+IntToStr(picnr)+ExtractFileExt(pdl[i]); end; try lStream := TFileStream.Create(Ziel, fmCreate or fmShareDenyNone); try idHTTP1.Get(URL, lStream); finally lStream.Free; end; finally end; Memo1.lines.Add(TimeToStr(now)+' : Download von "'+pdl[i]+'" war erfolgreich.'); picnr:= picnr+1; p:= round((100/pdl.Count) * (i)); gauge1.Progress := p; end; |
Re: jpg mit idhttp downloaden --> jpg kaputt ??? warum da
hmm...komische sache, eigentlich müsste es gehen...=!=
Fehler habe ich keinen gefunden, außer ein paar "Schönheitsfehler" - vielleicht sind ja diese das Problem?= Na jedenfalls besser ich die mal aus...
Delphi-Quellcode:
for I := 1 to pdl.Count - 1 do //i = 1 da der erste eintrag in dieser stringlist die url ist
begin //Http Header einstellen - Eigenschaften von idHttp, kann ich jetzt nicht auswendig-----------!!! //aber ungefähr heißen die soo, bei manchen Seiten funkt das sonst nicht.... -----------------!!! idHttp1.AllowCookies := false; idHttp1.HandleRequest := true; //Eine Zeile genügt denk ich, umso mehr umso unübersichtlicher :) if Abbruch then break; url := pdl[0]+'/'+pdl[i]; label10.Caption:= pdl[i]; if edit4.Text = '' then begin Ziel := Pfad+'\'+pdlName+'\'+pdl[i]; //hmmm....versteh ich nicht, kein DateiTyp------!!! end else begin Ziel := Pfad+'\'+pdlName+'\'+Edit4.Text+' '+ nullen(picnr)+IntToStr(picnr)+ExtractFileExt(pdl[i]); end; // Vielleicht war da das Problem?!?------------------------------------------------!!! try lStream := TFileStream.Create(Ziel, fmCreate or fmShareDenyNone); idHTTP1.Get(URL, lStream); finally lStream.Free; //sehr wichtig!!! --> hab ich jetzt vergessen.... idhttp1.Disconnect; end; Memo1.lines.Add(TimeToStr(now)+' : Download von "'+pdl[i]+'" war erfolgreich.'); picnr:= picnr+1; p:= round((100/pdl.Count) * (i)); gauge1.Progress := p; end; Weiß nicht ob das wirklich das Problem ist, aber probieren kann man es ja.... Edit: Du musst die Verbindung vom idHttp1 auch wieder trennen....!!! lg |
Re: jpg mit idhttp downloaden --> jpg kaputt ??? warum da
@ icetube:
erstmal danke für's schönheitsfehler ausbessern, aber gebracht hat's leider nix, immer noch das gleiche problem! Zitat:
Code:
die ganzen url's sehn dann etwa so aus: http:/ /bilder.de/irgentwas/Bild1.jpg (das leerzeichen ist nur da damits keinen link ergibt xD)
http://bilder.de/irgentwas
Bild1.jpg Bild2.jpg ... zum EDIT: wie geht das? |
Re: jpg mit idhttp downloaden --> jpg kaputt ??? warum da
hmm...schade...dann kann ich dir auch nicht weiter helfen, bei mir funkts bis jetzt immer...
das trennen machst du mit "idHttp1.Disconnect" lg |
Re: jpg mit idhttp downloaden --> jpg kaputt ??? warum da
Ich kenne mich mit den Indys gar nicht aus, aber liefert idHTTP1.Get(URL, lStream); garantiert immer die komplette Datei und nicht nur den aktuell empfangenen Teil? Bei den TServerSocket/TClientSocket ist dies Verhalten zumindest so und dort würde man dann mit dem Code durch das fmCreate ständig die bisher empfangenen Teile überschreiben.
|
Re: jpg mit idhttp downloaden --> jpg kaputt ??? warum da
also da war mir ein ganz dummer fehler unterlaufen :wall: :wall: :wall:
ist mir aber erst beim schreiben der letzten antwort aufgefallen, ich hatte in der liste die url mit ".html" am ende gespeichert und da der link dann .../bilder.html/bild1.jpg war konnte es gar nicht, gehn. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz