DataSnap/WebBroker, HTML 사용먼저 파일을 서버에 저장하지 않고 다운로드하여 출력 할 수 있습니까?
나는 TStringList
을 만들고로드 한 다음 파일에 저장합니다. 파일 위치를 내 HTML 양식의 동작에 넣어 강제로 다운로드합니다. 파일을 저장하지 않고이 작업을 수행하려면 어떻게해야합니까?
MyList := TStringList.Create; (leaving out try/finally, etc.)
MyList.Add() ....
MyList.SaveToFile(MyFullFileName);
MyList.Free;
WebModuleDefaultHandler
이 HTML을 반환 :
<html><head />
<body onload="document.FormOne.submit()">
<form id="FormOne" name="FormOne" method="get"
action="MyFullFileName">
<input type="submit" id="btSubmit1" name="btSubmit1" />
</form>
</body>
</html>
내가 먼저 저장하지 않고 MyList
을 보낼 수있는 방법이 있습니까?
MyStream:= TMemoryStream.Create;
try
MyList:= TStringList.Create;
try
MyList.Add() ...
MyList.SaveToStream(MyStream);
finally
MyList.Free;
end;
MyStream.Position:= 0;
Response.ContentType:= 'text/html';
Response.ContentStream:= MyStream;
finally
MyStream.Free;
end;
요청이 클라이언트에서 서버에 제공
, 당신은 통과해야 ...
당신은 HTML 코드가 어떻게 보이는지 보여줄 수 있습니까? 또는 TStringList의 문자열 만 포함 된 일반 텍스트 파일로 HTTP 응답에 응답하는 방법을 찾고 있습니까? – mjn
후자입니다. 위의 코드는 다운로드 대화 상자의 결과로, 파일 저장 위치 (브라우저에 따라 다름)를 묻습니다. 사용자가 파일에 저장하고 화면에 표시 할 수 없도록 문자열을 보내려고합니다. – Debby