Thema: Delphi TWebModule und Multipart

Einzelnen Beitrag anzeigen

Rolf Frei

Registriert seit: 19. Jun 2006
647 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 18:05
Habe das nun mit einer simplen Form getestet und das funktioniert bei mir einwandfrei.

Code:
<form method="POST" action="fileupload" name="MyForm" enctype="multipart/form-data">
  <input type="file" name="filename" value="">
</form>
Die Fielupload Action sieht so aus:
Delphi-Quellcode:
procedure TESWebModule.waFileUploadAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
  if Request.Files.Count > 0 then
  begin
    with TFileStream.Create(FUploadDir + Request.Files[0].FileName, fmCreate) do
    try
      CopyFrom(Request.Files[0].Stream, Request.Files[0].Stream.Size);
    finally
      Free;
    end;
  end;
end;
Nach Auswahl einer Datei und Senden des Formulars ist die Datei in meinem Uploadordner vorhanden. Das Ganze habe ich aber mit einer CGI-EXE und IIS getestet. Da ein Standalone Server glaube ich aber auf Indy basiert, könnte es eventuell damit zusammen hängen, dass das da nicht geht. Ist aber reinen Spekulation. Versuche das doch bei dir auch mal mit einer CGI-EXE (oder ISAPI-DLL wenn es komplizierter sein soll) und IIS anstelle eines eigenen Servers.

@Bbommel
Nein das [] ist nicht nötig, das hängt mit dem Server zusammen und ist da unter Umständen nötig, damit der Server mehrere Files verabreiten kann (z.B. PHP). Siehe auch hier: https://wiki.selfhtml.org/wiki/HTML/...t/Datei-Upload

In Firefox wird das Bild mit diesen Angaben geschickt und das funktioniert einwandfrei:
Code:
-----------------------------3165091648410499962260122359
Content-Disposition: form-data; name="filename"; filename="bruch0002.JPG"
Content-Type: image/jpeg

Binäre Daten ....

Geändert von Rolf Frei ( 8. Dez 2020 um 19:22 Uhr)
  Mit Zitat antworten Zitat