将多个文件类型保存到一个文件中

时间:2014-05-07 15:26:59

标签: c# .net wpf xaml

我正在开发一个用户可以加载多个图像的3D应用程序,我使用的3D库具有将整个场景导出为XAML的功能,当然在XAML中我只有图像的路径,所以文件只能在创建它的机器上有效,我要做的是保存XAML,将XAML内的图像路径更改为相对于XAML文件路径,保存图像(s )沿着同一个新文件中的XAML,这样新文件将始终包含XAML和图像。如何在同一个文件中保存多个文件类型?关于整个想法的任何其他建议将不胜感激。

2 个答案:

答案 0 :(得分:2)

如果您使用的是.NET 4.5,则可以使用新的ZipFile class以编程方式将多个文件轻松保存到zip文件夹中。

首先,您需要将文件准备到新文件夹(Directory.CreateDirectoryFile.Move),然后您只需使用ZipFile.CreateFromDirectory Method(从链接页面改编):

string filePathOfNewFolder = @"c:\example\start";
string zipFilePath = @"c:\example\result.zip";

ZipFile.CreateFromDirectory(filePathOfNewFolder, zipFilePath);

更新>>>

对于.NET 4,您可能不得不更多地依赖第三方库。您可以从CodePlex上的DotNetZip - Zip and Unzip in C#, VB, any .NET language页面下载DotNetZip库。它也很简单。以下是从链接页面中获取的示例:

using (ZipFile zip = new ZipFile())
{
    // add this map file into the "images" directory in the zip archive
    zip.AddFile("c:\\images\\personal\\7440-N49th.png", "images");
    // add the report into a different directory in the archive
    zip.AddFile("c:\\Reports\\2008-Regional-Sales-Report.pdf", "files");
    zip.AddFile("ReadMe.txt");
    zip.Save("MyZipFile.zip");
}

答案 1 :(得分:-1)

  1. 将您的XAML和其他图像文件存储到一个文件中(例如zip或cab)。
  2. 运行程序时,将相关文件解压缩到临时文件夹中,以便相关路径正常工作。
  3. 如果需要,之后清空临时文件夹。
相关问题