try
Query1.Open;
Query1.Locate('EventNo',StrToInt(Request.QueryFields.Values['EventNo']),[]);
Picture := TPicture.Create;
Picture.Assign(Query1.FieldByName('Event_Photo'));
JPG := TJPEGImage.Create;
JPG.Assign(Picture.Graphic);
Stream := TMemoryStream.Create;
JPG.SaveToStream(Stream);
Stream.Position := 0;
Response.ContentLength := Stream.Size;
Response.ContentStream := Stream;
Response.ContentType := 'image/jpeg';
finally
JPG.Free;
Picture.Free;
위와 같이 하여 DB에 있는 event_photo에 든 jpg파일을 불러 오고자 합니다.
근데 컴파일 해보니 에러는 안 뜨는데...
두 변수 Jpg와 Picture가 initializaton되지 않았다는 경고와 함께 이미지가 제대로 불러와 지지 않습니다. 무엇이 잘못된 걸까요...?
DB는 델파이에서 기본으로 제공해주는 DBDEMOS alias에 있는 events 테이블을 이용하였습니다.
행복한 추석 되십시오.
JPG : TJpegImage;
Picture : TPicture;
begin
JPG : TJPEGImage.Create;
Picture := TPicture.Create;
try
.....
uses절에 JPEG를 추가해야 합니다.
기억이 가물가물한데 WebApp에서는 TPicture가 다른 유닛을 참조했던거같기두 하구...
그럴때는 Picture := Graphics.TPicture.Create; 이런식으로 하시면 됩니다..
즐프하세여~~^-^
남호진 wrote:
> try
> Query1.Open;
> Query1.Locate('EventNo',StrToInt(Request.QueryFields.Values['EventNo']),[]);
> Picture := TPicture.Create;
> Picture.Assign(Query1.FieldByName('Event_Photo'));
> JPG := TJPEGImage.Create;
> JPG.Assign(Picture.Graphic);
> Stream := TMemoryStream.Create;
> JPG.SaveToStream(Stream);
> Stream.Position := 0;
> Response.ContentLength := Stream.Size;
> Response.ContentStream := Stream;
> Response.ContentType := 'image/jpeg';
> finally
> JPG.Free;
> Picture.Free;
>
> 위와 같이 하여 DB에 있는 event_photo에 든 jpg파일을 불러 오고자 합니다.
> 근데 컴파일 해보니 에러는 안 뜨는데...
> 두 변수 Jpg와 Picture가 initializaton되지 않았다는 경고와 함께 이미지가 제대로 불러와 지지 않습니다. 무엇이 잘못된 걸까요...?
> DB는 델파이에서 기본으로 제공해주는 DBDEMOS alias에 있는 events 테이블을 이용하였습니다.
> 행복한 추석 되십시오.