如图,请教各位专家,压缩包使用VCLzip解压后文件名变成乱码。
var
M:TMemoryStream;
procedure TFormDownload.Download(Url:String);
begin
M:=TMemoryStream.Create;
try
try
Self.IdHTTP1.Get(Url,M);
except
end;
ForceDirectories(ExtractFileDir(Application.ExeName)+'\DownTemp');
if DirectoryExists(ExtractFileDir(Application.ExeName)+'\DownTemp') then
begin
M.SaveToFile(ExtractFileDir(Application.ExeName)+'\DownTemp\Rain.zip');
// Self.VCLUnZip1.ZipName:=ExtractFileDir(Application.ExeName)+'\DownTemp\Rain.zip';
M.Position:=0;
Self.VCLUnZip1.ArchiveStream:=M;
Self.VCLUnZip1.OverwriteMode:=Always;
Self.VCLUnZip1.ReadZip;
Self.VCLUnZip1.FilesList.Add('*.*');
Self.VCLUnZip1.DestDir:=ExtractFileDir(Application.ExeName)+'\DownTemp\';
Self.VCLUnZip1.DoAll := true;
Self.VCLUnZip1.RecreateDirs := true;
Self.VCLUnZip1.RetainAttributes := True;
Self.VCLUnZip1.UnZip;
Self.Timer.Enabled:=false;
end;
finally
FreeAndNil(M);
end;
Self.IdHTTP1.Disconnect;
end;