写入:
procedure TForm1.LoadStream(WebBrowser:TWebBrowser; Stream:TStream); var PersistStreamInit: IPersistStreamInit; StreamAdapter: IStream; MemoryStream: TMemoryStream; begin WebBrowser.Navigate('about:blank'); repeat Application.ProcessMessages; Sleep(0); until WebBrowser.ReadyState=READYSTATE_COMPLETE; if WebBrowser.Document.QueryInterface(IPersistStreamInit,PersistStreamInit)=S_OK then begin if PersistStreamInit.InitNew=S_OK then begin MemoryStream:=TMemoryStream.Create; try MemoryStream.CopyFrom(Stream,0); MemoryStream.Position:=0; except MemoryStream.Free; raise; end; StreamAdapter:=TStreamAdapter.Create(MemoryStream,soOwned); PersistStreamInit.Load(StreamAdapter); end; end end;
测试:
procedure TForm1.btn_1Click(Sender: TObject); var S: TStringStream; begin S := TStringStream.Create(mm1.Text); try LoadStream(wb1,S); finally s.Free; end; end;
读取就很简单了,这里不再阐述。