Skip to content

Commit bd87de4

Browse files
committed
[Fix] SendDocument присылает tmp #46. Но это не точно
1 parent 9116989 commit bd87de4

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

Source/TelegAPI.Utils.Params.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ procedure TtgParamLoader.AddClass_TtgFileToSend(var AFormData: TMultipartFormDat
8888
begin
8989
LFileToSent := AValue.AsType<TtgFileToSend>;
9090
if Assigned(LFileToSent.Content) then
91-
AFormData.AddStream(AKey, LFileToSent.Content)
91+
AFormData.AddStream(AKey, LFileToSent.Content, LFileToSent.FileName)
9292
else
9393
AFormData.AddFile(AKey, LFileToSent.FileName);
9494
end;

Source/TelegAPi.Helpers.pas

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,17 @@ TtgTMultipartFormDataHelper = class helper for TMultipartFormData
3030
/// <summary>
3131
/// Add a form data Stream
3232
/// </summary>
33-
procedure AddStream(const AFieldName: string; Data: TStream);
33+
/// <param name="AFieldName">
34+
/// Field Name
35+
/// </param>
36+
/// <param name="Data">
37+
/// Stream
38+
/// </param>
39+
/// <param name="AFileName">
40+
/// file name: "File.ext"
41+
/// </param>
42+
procedure AddStream(const AFieldName: string; Data: TStream; const AFileName: string = '');
43+
3444
end;
3545

3646
TtgMessageHelper = class helper for TTgMessage
@@ -89,12 +99,15 @@ function TAllowedUpdatesHelper.ToString: string;
8999

90100
{ TtgTMultipartFormDataHelper }
91101

92-
procedure TtgTMultipartFormDataHelper.AddStream(const AFieldName: string; Data: TStream);
102+
procedure TtgTMultipartFormDataHelper.AddStream(const AFieldName: string; Data: TStream; const AFileName: string);
93103
var
94104
lFileName: string;
95105
LFileStream: TFileStream;
96106
begin
97-
lFileName := TPath.GetTempFileName;
107+
if AFieldName.IsEmpty then
108+
lFileName := TPath.GetTempFileName
109+
else
110+
lFileName := TPath.Combine(TPath.GetTempPath, AFieldName);
98111
try
99112
LFileStream := TFileStream.Create(lFileName, fmCreate);
100113
try

Source/TelegAPi.Types.pas

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,7 +1060,7 @@ TtgFileToSend = class
10601060
FileName: string;
10611061
Content: TStream;
10621062
constructor Create(const AFileName: string); overload;
1063-
constructor Create(AContent: TStream); overload;
1063+
constructor Create(AContent: TStream; const AFileName: string = ''); overload;
10641064
destructor Destroy; override;
10651065
end;
10661066

@@ -1629,9 +1629,9 @@ constructor TtgFileToSend.Create(const AFileName: string);
16291629
raise EFileNotFoundException.CreateFmt('File %S not found!', [AFileName]);
16301630
end;
16311631

1632-
constructor TtgFileToSend.Create(AContent: TStream);
1632+
constructor TtgFileToSend.Create(AContent: TStream; const AFileName: string);
16331633
begin
1634-
FileName := string.Empty;
1634+
FileName := AFileName;
16351635
Content := AContent;
16361636
if not Assigned(AContent) then
16371637
raise EStreamError.Create('Stream not assigned!');

0 commit comments

Comments
 (0)