Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

Re: File-Upload: Wie am geschicktesten?

  Alt 28. Okt 2005, 13:12
So,

ich bin jetzt schonmal ein Stück weiter:

Delphi-Quellcode:
uses
   System.Net, System.Text;

// ... form declaration
   private
      g_client: WebClient;
// ... form decl.

procedure TWinForm1.Button2_Click(sender: System.Object; e: System.EventArgs);
var
  l_answer: Array of byte;
begin
  if not assigned(g_client) then
    g_client := System.Net.WebClient.Create();

  l_answer := g_client.DownloadData('http://www.wow-blackdragons.de/ladrius/roster/html/admin/update.php');
  RichTextBox1.Text := Encoding.ASCII.GetString(l_answer);
end;

procedure TWinForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var
  l_client: WebClient;
  l_answer: Array of byte;
begin
  if not assigned(g_client) then
    g_client := System.Net.WebClient.Create();

  l_answer := g_client.UploadFile('http://www.wow-blackdragons.de/ladrius/roster/html/admin/update.php', 'POST', 'D:\Programme\World of Warcraft\WTF\Account\BLACKSABBATH\SavedVariables\CharacterProfiler.lua');
  RichTextBox1.Text := Encoding.ASCII.GetString(l_answer);
end;
Button2 lädt sich erstmal die Webseite (das Hochladeformular). Das Funktioniert auch einwandfrei, als Antwort kommt zurück:
XML-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <title>[Black Dragons Roster] Charakterinformationen aktualisieren</title>
  <link rel="stylesheet" type="text/css" href="../css/styles2.css">
  <link rel="stylesheet" type="text/css" href="../css/styles.css">
<style type="text/css">
   /* This is the border line & background colour round the entire page */
   .bodyline { background-color: #000000; border: 1px #212121 solid; }
</style>
</head>
<body>
<table border=0 cellpadding=0 cellspacing=0 width="100%">
  <tr><td align="center">
    <table border=0 cellpadding=8 cellspacing=0 width="100%">
      <tr><td width="100%" class="bodyline">
        <table border=0 cellpadding=0 cellspacing=0 width="100%">
          <tr><td align="center" width="100%" class="bodyline">
[url="http://www.wow-blackdragons.de"][img]../img/logo.gif[/img][/url]


          </td>
          <tr><td align="center">

<font color="#FFFFFF">Gildenmitglied aktualisieren (update.php)</font>[/b]





<form ENCTYPE="multipart/form-data" method="POST">
   <table>
      
      <tr>
         <td>CharacterProfiler.lua (Required) </td>
         <td><input type="file" accept="CharacterProfiler.lua" name="CharacterProfiler"></td>
      </tr>
      <tr>
         <td colspan="2"><center><input type="submit" value="Upload"></center></td>
      </tr>
   </table>
</form>
</td></tr>
<tr><td>







</td></tr>
</table>
</td></tr></table>
<hr>
W&auml;hle die Datei "CharacterProfiler.lua" aus


(Zu finden unter C:\Program Files\World of Warcraft\WTF\Account\*Accountname*\SavedVariables\)


<p align="center">[url="../index.php"]Zur&uuml;ck zur &Uuml;bersicht[/url]</p>
</body>
</html>
Button1 sollte nun ja die Datei hochladen, so wie es das Formular verlangt, also als POST. Als Antwort kommt aber nicht die Seite zurück die zurück kommt, wenn man die Datei im Browser hochlädt sondern einfach nochmal die normale Upload-Seite, als hätte sie die Datei nicht erhalten.

Woran liegt das und was kann ich dagegen tun?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat