3

Delphi をサーバーとして使用して、さまざまなリクエストに対応しています。単純な文字列はすべて正常に動作しますが、ファイルの受信に問題があります。

すべて Webbroker サービスを使用して実装されているため、メソッドを取得します

WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);

type=mtPost の /test メソッドがあります。

アクションの中で、次のことを行います。

MimeType   := Request.ContentFields.Values['MimeType'];
  for i := 0 to Request.Files.Count-1 do begin
    // never entered
    aFile := Request.Files.Items[i];
    ms := TMemoryStream.Create;
    aFile.Stream.Position := 0;
    ms.CopyFrom(aFile.Stream, aFile.Stream.Size);
    ms.SaveToFile(path+aFile.FileName);
    ms.free;
  end;

どうやら送信したものはファイルとして認識されないようですが、その理由はわかりません。投稿に使用される HTML は次のようになります。

<form id="myForm" action="http://localhost:8080/test" method="post" enctype="multipart/form-data">
     <input type="file" size="60" name="myfile">
     <input type="text" size="10" name="mimetype" value="image/hest">
     <input type="submit" value="upload">
 </form>

何が間違っているのか、そしてそれを解決する方法を教えてくれる人に感謝します。基本的に、MIME タイプを含め、一度に 1 つのファイルを受信できるようにする必要があるだけです (後でファイルを提供するときに返す必要があるため)

4

2 に答える 2