private static void ExtractContentFile(string rootFolder, PackagePart contentFile)
{
// Initially create file under the folder specified
string contentFilePath = contentFile.Uri.OriginalString.Replace('/', Path.DirectorySeparatorChar);
if (contentFilePath.StartsWith(Path.DirectorySeparatorChar.ToString(CultureInfo.InvariantCulture)))
{
contentFilePath = contentFilePath.TrimStart(Path.DirectorySeparatorChar);
}
contentFilePath = Path.Combine(rootFolder, contentFilePath);
//Check for the folder already exists. If not then create that folder
if (!Directory.Exists(Path.GetDirectoryName(contentFilePath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(contentFilePath));
}
using (var newFileStream = File.Create(contentFilePath))
{
newFileStream.Close();
var content = new byte[contentFile.GetStream().Length];
contentFile.GetStream().Read(content, 0, content.Length);
File.WriteAllBytes(contentFilePath, content);
}
}