AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Indy post Problem

Ein Thema von itzgyl88 · begonnen am 19. Jul 2008 · letzter Beitrag vom 21. Jul 2008
Antwort Antwort
Seite 2 von 2     12   
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Indy post Problem

  Alt 21. Jul 2008, 01:26
Zitat von Björn Ole:
Wer sagt, dass der Browser 'multipart/form-data' sendet?
Der Quellcode:

Code:
<form enctype="multipart/form-data" action="index.php?page=upload" method="post">
(Ich denke, dass das auch so in den Post-Request eingeht und nicht vom Browser in image/... gewandelt wird. Man müsste ein Bild hochladen und mit einem TCP/IP-Sniffer gucken, was wirklich als Content-Type gesendet wird.

Ansonsten bestimmte ich persönlich immer auf der Serverseite mit LowerChar(ExtractFileExt($_FILE['filename'])) == [jpg, gif, jpeg, png], um welches Format es sich handelt.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 11. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#12

Re: Indy post Problem

  Alt 21. Jul 2008, 01:39
Zitat von blackdrake:
Man müsste ein Bild hochladen und mit einem TCP/IP-Sniffer gucken, was wirklich als Content-Type gesendet wird.
Habe beim Uploaden Live HTTP Headers (FF Addon) laufen lassen, hier das Ergebnis:

Zitat:
http://www.imagecrate.de/index.php?page=upload

POST /index.php?page=upload HTTP/1.1
Host: www.imagecrate.de

{...}

Content-Type: multipart/form-data; boundary=---------------------------378648515056
Content-Length: 110176
-----------------------------378648515056
Content-Disposition: form-data; name="upload"

1
-----------------------------378648515056
Content-Disposition: form-data; name="file"; filename="test.gif"
Content-Type: image/gif

BM¶«

{...}
Hab ich das richtig verstanden und der POST-Request wird als multipart/form-data gesendet, das Bild aber als image/xyz? Wenn ja, ist ja alles in Butter. 8)
  Mit Zitat antworten Zitat
itzgyl88

Registriert seit: 7. Feb 2008
12 Beiträge
 
#13

Re: Indy post Problem

  Alt 21. Jul 2008, 12:59
Jetzt habt ihr mich verwirrt. Ich dachte das Problem ginge jetzt ganz leicht zu lösen, indem ich den ContentType ändere - es scheint auch tatsächlich halb zu funktionieren, nur leider eben nicht ganz.

Wenn ich jetzt ein Bild hochlade, bekomme ich den source der Seite zurück, leider ohne den wichtigen Inhalt. Das sieht dann so aus:
und dazwischen sollte der Code stehen, in dem auch die Links sind. Ich habe den richtigen ContentType beachtet und auch mit dem LiveHeader FF Addon getestet .. was kann ich da noch tun ? o.O

Gruß.
  Mit Zitat antworten Zitat
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 11. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#14

Re: Indy post Problem

  Alt 21. Jul 2008, 14:36
Der folgende Code liefert mir ein korrektes Ergebnis und sollte zudem "serververträglich" sein:
Delphi-Quellcode:
var
  DataStream: TIdMultiPartFormDataStream;
  Response: string;
begin
  DataStream:=TIdMultiPartFormDataStream.Create;
    try
      IdHTTP1.Request.ContentType:='multipart/form-data';
      DataStream.AddFormField('upload','1');
      DataStream.AddFile('file','C:\test.gif','image/gif');
      Response:=IdHTTP1.Post('http://www.imagecrate.de/index.php?page=upload',DataStream);
    finally
      DataStream.Free;
    end;
end;
Ergebnis (Ausschnitt)
Code:
<tr>
<td rowspan="11" valign="top" width="170"><div align="center">[url="http://www.imagecrate.de/view.php?id=2532"][img]http://www.imagecrate.de/upload/thumb/83148_test.gif[/img][/url]
[b]83148_test.gif[/b]</div></td>
<td>
  Mit Zitat antworten Zitat
itzgyl88

Registriert seit: 7. Feb 2008
12 Beiträge
 
#15

Re: Indy post Problem

  Alt 21. Jul 2008, 15:23
Danke, mein Fehler war anscheinend, dass ich erst die Datei zum Stream hinzugefügt hatte und danach "upload=1" ..
Was anderes konnte ich als Fehlerquelle bei mir nicht ausmachen - den Rest hatte ich so schon die ganze Zeit.

Danke!
Gruß.
  Mit Zitat antworten Zitat
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 11. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#16

Re: Indy post Problem

  Alt 21. Jul 2008, 16:03
Ich hab mal in meinem Code die beiden Zeilen vertauscht und es funktionerte auch ohne Probleme. Dein Fehler muss also woanders gelegen haben. Aber hauptsache, es funktionert jetzt.

Gruß, Björn
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:35 Uhr.
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