在 WebBroker 对应的路径底 开始收不到文件,是因为 1. 网页代码缺少了enctype="multipart/form-data" 这个描述。 2. 没有 uses WEB.ReqMulti;
https://blog.csdn.net/pcplayer/article/details/69230492

主页面从a01.html导入
procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var FileContent: TStringList; begin FileContent := TStringList.Create; // 假设你的HTML文件位于Web服务器的根目录下,文件名为a01.html FileContent.LoadFromFile( ExtractFilePath (ParamStr (0))+ '\a01.html'); Response.Content := FileContent.Text; Response.ContentType := 'text/html; charset="UTF-8"'; Handled := True; FileContent.Free;
end;


<form action="upload" method="post" enctype="multipart/form-data"> <input type="file" size="60" name="myfile"> <input type="text" size="10" > <input type="submit" value="上传"> </form>
 

此处的/upload 对应的是 <form action="http://127.0.0.1:8080/upload"
再写接收文件事件

procedure TWebModule1.WebModule1uploadAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); begin Response.Content := inttostr(Request.Files.Count)+ 'sfully'; Handled :=true; end;
运行测试,点upload,1sul,表明上传一个文件 成功

 
 
procedure TWebModule1.WebModule1uploadAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var AFileName :string; AFile : TFileStream ; begin AFileName := ExtractFileName(Request.Files[0].FileName); AFileName := ExtractFilePath(GetModuleName(0)) + AFileName; AFile := TFileStream.Create(AFileName, fmCreate); Request.Files[0].Stream.Position := 0; AFile.CopyFrom(Request.Files[0].Stream, Request.Files[0].Stream.Size); AFile.Free; Response.ContentType := 'text/html; charset="UTF-8"'; Response.Content := AFileName+ ' 上传成功'; s:=s+ '<input type="button" name="Submit" value="返回" onclick="location.href=''http://127.0.0.1:8080/''" /> '; Handled :=true; end;

https://pan.baidu.com/s/1HCbJdVL6Jvarr3HEhS-y0Q
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号