1
다음은 파일 이름 목록을 사용하여 단일 아카이브로 압축하는 코드 샘플입니다. 내가 가지고있는 문제는 filname에 의해 기술 된 파일이 zip 아카이브의 최상위 레벨에 있어야한다는 것입니다 (즉, 아카이브가 열리면 "clientName .... xml"이 가장 먼저 보게됩니다. 폴더 "XML"대신).FSharp의 zip 아카이브의 제어 파일 구조
let filename = sprintf "C:\\XML\\ClientName_%s.xml" (System.DateTime.Now.ToString("ddMMyyyy"))
use fs = new FileStream(filename, FileMode.Create)
let xmlSerializer = XmlSerializer(typeof<log>)
xmlSerializer.Serialize(fs,logObj)
fs.Close()
use zipfile = new ZipFile()
let basePath = path.Replace("/", "\\")
for fileObj in files do
let relativeFilePath = basePath + (fileObj.Filename).Replace("/", "\\")
printfn "%s" relativeFilePath
zipfile.AddFile(relativeFilePath) |> ignore
()
zipfile.AddFile(filename) |> ignore
let zipFileName = sprintf "C:\\XML\\Compliance_%s.zip" (System.DateTime.Now.ToString("ddMMyyyy"))
zipfile.Save(zipFileName)
감사합니다! – Ramy