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}

パス=@"iso:\ Shared \ Media \ mapp\"または@"isostore:\ Shared \ Media \ mapp\"または@"files:\ Shared \ Media \ mapp\"または@"file:\を設定しようとしていますShared \ Media \mapp\"で動作しません。@ "\ Shared \ Media \"を設定すると、すべてのデバイスで問題なく動作します。ディレクトリを作成できない理由を誰が教えてくれますか?

4

1 に答える 1

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);
            }

願っています、それは助けになります。

于 2013-03-05T10:39:56.120 に答える