![]() |
|
خلل في كود رفع tnethttpclient - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : خلل في كود رفع tnethttpclient (/showthread.php?tid=9803) |
خلل في كود رفع tnethttpclient - invocker - 15-10-2018 السلام عليكم استخدمت الكود اسفله في رفع ملف ولم ينجح عن طريق استخدام tnethttpclient اما عن طريق idhttp فالرفع تمام السؤال اين الخلل ؟ في الحقيقة حاولت معرفة السبب والتجربة عدة مرات وتبين لي * لا اعلم ان كان هو السبب الحقيقي * ان اضافة الملف عن طريق idmultipartformdata غير متوافقة مع tnethttpclient لذا حاولت قراءة الملف على شكل سترينغ وارساله عن طريق استخدام tstringlist لكن لا فائدة ربما الخلل في طريقة قراءة الملف ربما يقرا 255 محرف فقط هذا الكود كود : var
Stringlist: TStringlist;
begin
if o.Execute then
begin
Stringlist := TStringlist.Create;
Stringlist.Add('file_1_=[ رفع الملفات ]');
Stringlist.Add(format('file_1_=%s', [tfile.ReadAllText(o.FileName)]));
Memo1.Text := NetHTTPClient.Post('https://up.top4top.net/', Stringlist).ContentAsString;
end;RE: خلل في كود رفع tnethttpclient - invocker - 15-10-2018 هل يجرب احد عنده رجاءا ربما الخلل بسيط RE: خلل في كود رفع tnethttpclient - Agmcz - 17-10-2018 هكذا يعمل بنجاح PHP كود : usesRE: خلل في كود رفع tnethttpclient - invocker - 18-10-2018 بارك الله فيك RE: خلل في كود رفع tnethttpclient - محمودد - 21-10-2018 (17-10-2018, 08:18 PM)Agmcz كتب : هكذا يعمل بنجاح ممكن تحويل الكود للتعامل مع idhttp بدال httpclient RE: خلل في كود رفع tnethttpclient - invocker - 23-10-2018 تفضل كود : uses
..., IdMultipartFormData, IdHTTP, IdSSLOpenSSL;
procedure TForm1.Button1Click(Sender: TObject);
Var
IdHTTP1: TIdHTTP;
Src: string;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
lParam: TIdMultiPartFormDataStream;
begin
if OpenDialog1.Execute then
try
IdHTTP1 := TIdHTTP.Create(nil);
try
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
lParam := TIdMultiPartFormDataStream.Create;
lParam.AddFile('file_1_', OpenDialog1.FileName);
lParam.AddFormField('submitr', '[ رفع الملفات ]');
IdHTTP1.IOHandler := LHandler;
Src := IdHTTP1.post('https://up.top4top.net', lParam);
Memo1.Text := Src;
finally
lParam.Free;
LHandler.Free;
end;
finally
IdHTTP1.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end; |