2013-03-05 72 views
1

我嘗試將文件保存在IsoStore中。在WP8模擬器文件已成功保存,但是當我在其他模擬器或我的手機(使用WP7.8)運行我的程序時,出現錯誤:「路徑必須是有效的文件名」 我這樣做:保存並讀取獨立存儲中的文件

      var path = @"\Shared\Media\mapp\"; 
         var imageName = guid from the server; 

          if (!_fileStorage.DirectoryExists(path)) 
           _fileStorage.CreateDirectory(path); 

//here I get a error  using (IsolatedStorageFileStream fileStream = 
           _fileStorage.OpenFile(path + imageName, 
                 FileMode.OpenOrCreate)) 
          {//do anything} 

我嘗試設置path = @「iso:\ Shared \ Media \ mapp \」或@「isostore:\ Shared \ Media \ mapp \」或@「files:\ Shared \ Media \ mapp \」或@ 「file:\ Shared \ Media \ mapp \」,它不起作用。 如果我在所有設備中都設置@「\ Shared \ Media \」都很好。誰能告訴我爲什麼我不能創建一個目錄?

+0

此鏈接可能會幫助你http://www.geekchamp.com/tips/all-about-wp7-isolated-storage-read-and-save-text-files – asitis 2013-03-05 10:19:43

+0

其實,你已經寫道:「如果我在所有設備上都設置了「@」\ Shared \ Media \「,這對我來說似乎很陌生,因爲它在WP7設備上也會失敗(現在就試用)。你確定? – Olter 2013-03-05 10:53:18

+0

是的,使用@「\ Shared \ Media \」可以在WP7.1和WP7.8模擬器以及OS 7.5和7.8的手機上正常工作。 – 2013-03-05 14:40:21

回答

0

對於Windows Phone 7,您無法創建以「/」或「//」結尾的目錄,導致「路徑必須是有效的文件名」錯誤。

解決您的問題,只要改變你的代碼位:

  var path = @"\Shared\Media\mapp"; 
      var imageName = guid from the server; 

      using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication()) 
      { 
       if (!store.FileExists(path)) 
       { 
        store.CreateDirectory(path); 
       } 
       store.OpenFile(path + "\\" + imageName, FileMode.OpenOrCreate); 
      } 

希望,沒有什麼幫助。

+0

你的方法和其工作方式一樣,不需要創建一個自己的目錄=)非常感謝你的答案。 – 2013-03-05 16:58:00

相關問題