Code:
procedure TAppUpload.IWBS4File1CustomRestEvents0RestEvent(
aApplication: TIWApplication; aRequest: THttpRequest; aReply: THttpReply;
aParams: TStrings);
var i: integer; AStream: TMemoryStream;
begin
for i := 0 to aRequest.Files.Count-1 do
begin
// THttpFile(aRequest.Files[i]).SaveToFile(ExtractFilePath(ParamStr(0))+'Data\'+aRequest.Files[i].FileName, True);
AStream := TMemoryStream.Create;
try
THttpFile(aRequest.Files[i]).SaveToStream(AStream);
AStream.Position := 0;
AStream.SaveToFile(ExtractFilePath(ParamStr(0))+'Data\'+aRequest.Files[i].FileName); // Correct FileName can only be read manually from the stream
(...)
finally
AStream.Free;
end;
end;
aReply.WriteString('{"id": "1"}');
end;
You get all files when you set IWBS4File1 > CustomRestEvents > uploadUrl > ParseFileUpload to False
Stream looks like this:
------WebKitFormBoundaryQm9CpCSSrHXo0r3p
Content-Disposition: form-data; name="IWBS4FILE1[]"; filename="TestFile.png"
Content-Type: image/png
‰PNG
(...)
------WebKitFormBoundaryQm9CpCSSrHXo0r3p
Content-Disposition: form-data; name="file_id"
2
------WebKitFormBoundaryQm9CpCSSrHXo0r3p--