Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#6

AW: Datei zippen/ entzippen: TZipmaster oder Abbrevia

  Alt 1. Jun 2016, 16:28
Bei meinem Beispiel handelt es sich halt um eine ZIP-Datei auf der Platte, es ist für Dich, da Du das Zip ja in 'ner DB hast, nicht geeignet.

Wie man ein ZIP als Stream handhabt, weiß ich nicht, hab's noch nicht ausprobiert.

aber ich rate jetzt mal so als Idee:
Delphi-Quellcode:
procedure TForm1.CopyToZip;
var
  Idx: Integer;
  SourceStream: TStream;
  ZEntry: TZMDirEntry;
  ZM: TZipMaster;
  st: TMemoryStream;
begin
  ZM := TZipMaster.Create(nil);
  // Hierein kommt das, was ins ZIP übernommen werden soll
  st := TMemoryStream.Create;
  // st irgendwie irgendwoher befüllen
  try
    SourceStream := hier den Blobinhalt in den Stream kopieren;
    try
      ZM.ExtStream := SourceStream; // connect to ZipMaster
      if ZM.ErrCode <> 0 then
        raise Exception.Create('Invalid zip file: ' + ZM.ErrMessage);
      st.Position := 0;
      ZM.ZipStream.LoadFromStream(st);
      ZM.AddStreamToFile('Dateiname im ZIP',0,FILE_ATTRIBUTE_ARCHIVE);
      SourceStream ins Blob kopieren
    finally
      SourceStream.Free;
    end;
  finally
    st.Free;
    ZM.Free;
  end;
end;
  Mit Zitat antworten Zitat