المشاركات : 169
المواضيع 28
:
: 391
الإنتساب : Apr 2016
السلام عليكم
عندي خطا عند اظهار صورة من رابط في image1 اذا كان الرابط بدايته https يحدث الخطا الخطا
IOHandler value is not valid
الكود
كود :
var strstream:string;
stream:TMemoryStream;
jp:TJPEGImage;
http:TIdHTTP;
begin
jp:=TJPEGImage.Create;
http:=IdHTTP1.Create(nil);
strstream:=IdHTTP1.Get('https://d.top4top.net/p_455jyqt61.jpg');
stream:=TMemoryStream.Create;
stream.Write(strstream[1],Length(strstream) );
stream.Position:=0;
jp.LoadFromStream(stream);
Image1.Picture.Assign(jp);
stream.Free;
jp.Free;
end;
والسلام عليكم ورحمة الله
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
راجع هذا المثال سيفيدك
كود :
uses
IdHTTP,
IdSSLOpenSSL,
SysUtils;
Var
IdHTTP1 : TIdHTTP;
Src : string;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
try
IdHTTP1:=TIdHTTP.Create(nil);
try
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
IdHTTP1.IOHandler:=LHandler;
Src:= IdHTTP1.Get('https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1600+PENNSYLVANIA+AVE+NW&address2=&city=&state=Select&urbanCode=&postalCode=&zip=20500');
Writeln(Src);
finally
LHandler.Free;
end;
finally
IdHTTP1.Free;
end;
except on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 169
المواضيع 28
:
: 391
الإنتساب : Apr 2016
تمام تم حل المشكلة الاولى لكن بقي الامتداد اذا لم يكن jpeg يظهر خطا كيف يمكنني اظهار جميع الامتدادات او اغلبها على الاقل
var strstream

tring;
stream:TMemoryStream;
jp:TJPEGImage;
http:TIdHTTP;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
jp:=TJPEGImage.Create;
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHTTP1.IOHandler:=LHandler;
http:=IdHTTP1.Create(nil);
strstream:=IdHTTP1.Get('https://d.top4top.net/p_455jyqt61.jpg');
stream:=TMemoryStream.Create;
stream.Write(strstream[1],Length(strstream) );
stream.Position:=0;
jp.LoadFromStream(stream);
Image1.Picture.Assign(jp);
stream.Free;
jp.Free;
LHandler.Free;
end;
المشاركات : 654
المواضيع 34
:
: 106
الإنتساب : Aug 2010
يمكنك التحقق بطريقتين
الأولى التحقق من الملف
الثانية الاستعانة برد الخادم
وهي كالتالي:
PHP كود :
uses
IdHTTP, IdSSLOpenSSL, jpeg, pngimage;
procedure TForm1.Button1Click(Sender: TObject);
var
HTTP: TIdHTTP;
IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
Stream: TMemoryStream;
Jpg: TJPEGImage;
Png: TPngImage;
begin
HTTP := TIdHTTP.Create(nil);
IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
Stream := TMemoryStream.Create;
Jpg := TJPEGImage.Create;
Png := TPngImage.Create;
try
HTTP.IOHandler := IdSSLIOHandlerSocket;
try
HTTP.Get('https://d.top4top.net/p_455jyqt61.jpg', Stream);
Stream.Position := 0;
if HTTP.Response.ContentType = 'image/jpeg' then
begin
Jpg.LoadFromStream(Stream);
Image1.Picture.Assign(Jpg);
end;
if HTTP.Response.ContentType = 'image/png' then
begin
Png.LoadFromStream(Stream);
Image1.Picture.Assign(Png);
end;
except
// Error
end;
finally
Jpg.Free;
Png.Free;
Stream.Free;
HTTP.Free;
end;
end;
سبحان الله وبحمده سبحان الله العظيم
كل من 1 user says قال شكرا ل Agmcz على المشاركة المفيدة1 user says Thank You to Agmcz for this post
• mohamed49
المشاركات : 169
المواضيع 28
:
: 391
الإنتساب : Apr 2016
19-04-2017, 07:41 AM
(آخر تعديل لهذه المشاركة: 19-04-2017, 07:48 AM بواسطة mohamed49.)
بارك الله فيك اخي وصلت الفكرة جزاك الله كل خير
تبقى مشكلة ضبابية الصورة لا تظهر بالشكل المطلوب ما السبب؟
تمام جربت على صور اخرى وتظهر جيدا المشكلة في نوعية الصورة على ما اعتقد جزاك الله كل خير