pierrot_98
[델파이] TIdHTTP JSON 형식 POST - 바이너리 파일 받아오기 본문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
uese
IdHTTP; //추가
...
procedure TfrmSelvas.btnSaveClick(Sender: TObject);
var
IDhttp: TIdHTTP;
TRequest : TstringStream;
TOut : TstringStream;
URL, sString : String;
begin
try
IDhttp := TIdHTTP.Create(nil);
URL := 'http://localhost:8080/pierrot/api';
TRequest := TStringStream.Create('');
TOut := TStringStream.Create('');
IDhttp.ConnectTimeout := 3000;
IDhttp.ReadTimeout := 3000;
IDhttp.Request.ContentType := 'application/json;charset=UTF-8';
TRequest.Clear;
TOut.Clear;
sString := '';
sString := '{ '+#13#10+
' "FileName": "Pierrot.pdf", '+#13#10+
' "Dir": "C:\dir" '+#13#10+
'} ';
TRequest.WriteString(sString);
TRequest.Position := 0;
IDhttp.Post(URL, TRequest, TOut);
TOut.SaveToFile('C:\pierrot.pdf');
finally
IDhttp.Free;
TRequest.Free;
TOut.Free;
end;
end;
|
cs |
해당 API가 바이너리 파일을 반환할 때
Post메소드 3번 째 인자에 리턴받을 스트림 넣어주고 SaveToFile 해주면
바이너리 파일 그대로 저장할 수 있다.
처음에 TOut := IDhttp.Post(URL, TRequest);
TOut.SaveToFile('C:\pierrot.pdf'); 했다가
바이너리 파일이 깨져서 저장되더라...
'IT > Delphi' 카테고리의 다른 글
[델파이] 레지스트리 등록 (0) | 2020.01.15 |
---|---|
[델파이] json parsing (0) | 2019.12.17 |
[델파이] 현재 모니터 구하기 및 폼 전체 화면 (0) | 2019.10.31 |
[델파이] 마우스 커서 바꾸기 (0) | 2019.09.24 |
[델파이] ShellExecute (0) | 2019.09.24 |
Comments