20.05.2007, 19:32
Hallo,
ich benutze LabVIEW 8.2 incl. Internet Toolkit. Als Web Server verwende ich den G WebServer.
Im Zusammenhang mit der CGI-Programmierung habe ich folgendes Problem:
Ich möchte mit Hilfe eines HTML-Formulars (Code siehe unten) zwei Zahlen sowie eine *.txt-Datei an ein CGI VI (cgi-test.vi) schicken. Dieses soll dann die Summe der beiden Zahlen sowie den Inhalt der *.txt-Datei als Ergebnis zurücksenden.
Der Code des HTML-Formulars sieht folgendermaßen aus:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><font size="5">CGI-Test - addition of two numbers</font></p>
<hr>
<p>This form adds two numbers and displays the sum as well as the content of the uploaded *.txt-file.</p>
<form name="form1" method="post" action="/cgi-bin/cgi-test" enctype="multipart/form-data">
<p> Number 1
<input type="text" name="n1">
</p>
<p>Number 2
<input type="text" name="n2">
</p>
<p>
<input type="file" name="f1">
</p>
<p>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</p>
</form>
<p> </p>
</body>
</html>
Das CGI VI wird beim Absenden des Formulars aufgerufen und die Daten werden an das cgi-test.vi übermittelt. Theoretisch müsste dann das keyed array in seine Einzelbestandteile zerlegt werden, so dass mit den einzelnen Elementen des Arrays gearbeitet werden kann (d.h. Berechnung der Summe der beiden Zahlen sowie Anzeige des Inhalts der *.txt-Datei). Als Ergebnis erhalte ich jedoch folgendes:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN">
<HTML>
<!-- Constructed with the G Web Server -->
<HEAD>
<TITLE>CGI-Test</TITLE>
</HEAD>
<BODY >
Summe:
0File content:
</BODY>
</HTML>
Aus irgendeinem Grund lassen sich die drei übermittelten Daten (n1, n2, f1) nicht aufschlüsseln bzw. nicht so voneinander trennen, dass damit operiert werden kann.
Meine Fragen:
Wie kann ich erreichen, dass die drei übermittelten Daten getrennt voneinander ansprechbar sind?
Habe ich evtl. einen Fehler in meinem HTML-Formular?
Gibt es vi-Vorlagen, die sich mit dem Upload von Dateien in ein CGI VI beschäftigen?
Im Voraus schon mal vielen Dank für die Hilfe,
Ulrich
Das vi sieht folgendermaßen aus:
[attachment=6737]
ich benutze LabVIEW 8.2 incl. Internet Toolkit. Als Web Server verwende ich den G WebServer.
Im Zusammenhang mit der CGI-Programmierung habe ich folgendes Problem:
Ich möchte mit Hilfe eines HTML-Formulars (Code siehe unten) zwei Zahlen sowie eine *.txt-Datei an ein CGI VI (cgi-test.vi) schicken. Dieses soll dann die Summe der beiden Zahlen sowie den Inhalt der *.txt-Datei als Ergebnis zurücksenden.
Der Code des HTML-Formulars sieht folgendermaßen aus:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p><font size="5">CGI-Test - addition of two numbers</font></p>
<hr>
<p>This form adds two numbers and displays the sum as well as the content of the uploaded *.txt-file.</p>
<form name="form1" method="post" action="/cgi-bin/cgi-test" enctype="multipart/form-data">
<p> Number 1
<input type="text" name="n1">
</p>
<p>Number 2
<input type="text" name="n2">
</p>
<p>
<input type="file" name="f1">
</p>
<p>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</p>
</form>
<p> </p>
</body>
</html>
Das CGI VI wird beim Absenden des Formulars aufgerufen und die Daten werden an das cgi-test.vi übermittelt. Theoretisch müsste dann das keyed array in seine Einzelbestandteile zerlegt werden, so dass mit den einzelnen Elementen des Arrays gearbeitet werden kann (d.h. Berechnung der Summe der beiden Zahlen sowie Anzeige des Inhalts der *.txt-Datei). Als Ergebnis erhalte ich jedoch folgendes:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Draft//EN">
<HTML>
<!-- Constructed with the G Web Server -->
<HEAD>
<TITLE>CGI-Test</TITLE>
</HEAD>
<BODY >
Summe:
0File content:
</BODY>
</HTML>
Aus irgendeinem Grund lassen sich die drei übermittelten Daten (n1, n2, f1) nicht aufschlüsseln bzw. nicht so voneinander trennen, dass damit operiert werden kann.
Meine Fragen:
Wie kann ich erreichen, dass die drei übermittelten Daten getrennt voneinander ansprechbar sind?
Habe ich evtl. einen Fehler in meinem HTML-Formular?
Gibt es vi-Vorlagen, die sich mit dem Upload von Dateien in ein CGI VI beschäftigen?
Im Voraus schon mal vielen Dank für die Hilfe,
Ulrich
Das vi sieht folgendermaßen aus:
[attachment=6737]