So we know what files have expired we'll need to save the expired date somewhere, to do this we'll just add the TTL to the current DateTime.NowUTC and place the files in directories with the structure of /yyyy/MM/dd/hh-mm-{Guid.NewGuid()} this way we can run daily jobs to clean up old files.