2014-05-07 181 views
2

我正在開發一個3D應用程序,其中用戶可以加載多個圖像,我使用的3D庫具有將整個場景導出爲XAML的功能,當然,在XAML中,我只有所以這個文件只有在創建它的機器上纔有效,我想要做的就是保存XAML,將XAML中的圖像路徑更改爲相對於XAML文件路徑,將圖像沿着XAML保存在同一個新文件中,像這樣,新文件將始終包含XAML和圖像。如何在同一個文件中保存多個文件類型?對整個想法的任何其他建議將不勝感激。將多個文件類型保存到一個文件中

+1

你可以將所有文件保存在一個zip文件中 – Bolu

+0

謝謝你的回覆,我正在考慮這個,但是當我解壓縮文件到我的應用程序時,當然我只想在內存中這樣做, XAML內部的相對圖像路徑如何工作? – Musaab

+0

爲什麼使用內存,您可以將相關文件解壓縮到臨時文件夾中,並在完成後刪除它們。 – Bolu

回答

-1
  1. Store中的XAML和其他圖像文件合併成一個文件(例如zip或出租車)。
  2. 運行程序時,將相關文件解壓縮到臨時文件夾中,以便您可以獲取相關路徑。
  3. 如果需要,清空臨時文件夾。
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); 

UPDATE >>>

對於.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"); 
} 
+0

不幸的是,我正在使用4.0 – Musaab

相關問題