两者都要用到Stream。如果你做ASP的组件,需要把Stream转换为Variant类型。
然后用Response.BinaryWrite(Variant)就可以了。 至于怎样把图片变成Stream
应该不用我说了吧
下面这个函数是用来把Stream转换为Variant类型的,应该用得上。
function TMyObj.stmtovariant(stm:TStream):OleVariant;
var
size:Integer;
DataPtr
ointer;
VarBound:TVarArrayBound;
Pkt:TDataPacket;
begin
size:=Stm.Size-Stm.Position;
if Size>0 then
begin
FreeDataPacket(Pkt);
FillChar(VarBound,Sizeof(VarBound),0);
VarBound.ElementCount:=Size;
Pkt:=TDataPacket(SafeArrayCreate(varByte,1,VarBound));
Try
SafeArrayAccessData(Pkt,DataPtr);
Try
Stm.Read(DataPtr^,Size);
Finally
SafeArrayUnAccessData(Pkt);
end;
Except
FreeDataPacket(Pkt);
raise;
end;
end;
DataPacketToVariant(Pkt,Result);
end;