- // Create the file and write.
- let filename = metadata.get Metadata.filename
- use outputStream = new FileStream (Path.Combine (targetDirPath, filename), FileMode.Create, FileAccess.Write)
- cryptoStream.CopyTo outputStream
- ()
+ // Create the file and write its content and metadata.
+ let filePath = Path.Combine (targetDirPath, metadata.get MetadataKeys.filename)
+ let modificationTime = new DateTime (metadata.get MetadataKeys.modificationTime |> int64)
+ let fileInfo = new FileInfo (filePath)
+ using (fileInfo.Create ()) <| fun outputStream -> cryptoStream.CopyTo outputStream
+ fileInfo.LastWriteTimeUtc <- modificationTime
+
\ No newline at end of file