AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebModule und Multipart
Thema durchsuchen
Ansicht
Themen-Optionen

TWebModule und Multipart

Ein Thema von Hobbycoder · begonnen am 8. Dez 2020 · letzter Beitrag vom 9. Dez 2020
Antwort Antwort
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 13:30
Füge in der Uses Liste deines TWebModul's die Unit "Web.ReqMulti" hinzu. Danach sollte Files abgefüllt sein.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#2

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 13:36
Danke. Habe ich bereits drin (hatte das irgendwo gelesen).

Leider ist das Verhalten mit und ohne gleich.

Mittlerweise habe ich herausgefunden, dass es nicht zwingend am POST liegt, sondern an dem Parameter
Code:
enctype="multipart/form-data"
im Form-Tag.
Ohne das enctype wird natürlich auch wieder keine Datei angahängt.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
669 Beiträge
 
Delphi 12 Athens
 
#3

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 13:40
Wie wird denn das Senden der Datei auf Client-Seite (also der Client aus Sicht deines Delphi-Servers) erzeugt? Hängt da auch irgendein Code hinter, der die Datei sendet? Möglicherweise liegt da das Problem?
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#4

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 13:45
Zum Test erst einmal einfach so:

Code:
<html>
    <head>
        <meta charset="utf8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
    </head>
    <body>
        <form id="myForm" action="http://localhost:8443/senddata.php" method="post" enctype="multipart/form-data">
            <input type="hidden" name="DataType" value="fileupload">
            <input type="file" size="120" name="myfile">
            <input type="text" size="20" name="mimetype" value="image/bmp">
            <input type="submit" value="upload">
        </form>
    </body>
</html>
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#5

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 13:48
Lasse ich "enctype" weg, springt er mir auch in der Unit Web.ReqMulti in die Procedure "IsMultipartForm", liefert jedoch ein False zurück, weil es ja nicht drin steht.
Wenn enctype="multipart/form-data" jedoch drin ist, testet er gar nicht erst auf IsMultipartForm.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
669 Beiträge
 
Delphi 12 Athens
 
#6

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 14:26
Sieht jetzt erstmal unspektakulär aus. Macht denn das senddata.php irgendwas spannendes, was zu Problemen führen könnte?
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 14:36
Die Action der Form geht doch da aber auf eine php Seite, also wie soll das dann dein Webmodul erreichen oder fehlt hier noch eine wichtige Info, die du uns hier vorenthälst? Un djam enctype="multipart/form-data" musst du auf jeden Fall verwenden, sonst bekommst du keine Dateidaten.

Das mit dem MultiReq nutzte ich schon länger und das geht ohne Probleme bei mir, nur ist es bei mir eben eine Delphi Webapplikation die das empfängt. Bei dir eine PHP Seite?! Wo kommt da das Webmodul zum Einsatz?

Geändert von Rolf Frei ( 8. Dez 2020 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.002 Beiträge
 
#8

AW: TWebModule und Multipart

  Alt 8. Dez 2020, 14:42
"senddata.php" ist einfach nur mein TWebActionItem.PathInfo um unterschiedliche Abfragen ein bischen zu unterscheiden. Hätte auch alles über die DefaultAction laufen können.
Gemacht wird da noch nichts, außer dass ich die Fields auswerte um dann die Daten zu Verarbeiten, bzw. das Response zu erzeugen.

Solange kein Multipart drin ist, hat das auch alles wunderbar geklappt. Jetzt will ich aber auch Bilder empfangen. Zum testen habe ich mir das ganz simple Html-Formular genommen.
Wie klinkt sich denn das ReqMulti ein? Und warum wird das bei enctype="multipart/form-data" ignoriert?

Ist denn enctype="multipart/form-data" richtig für Formulare mit File-Upload?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:27 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