2017-01-30 5 views
0

最大文字を超えるパスに対処するにはどうすればよいですか?FileInfo.Pathは、ファイルを別のフォルダに移動するときに、値が予想範囲内に収まらないことを示します

私は、ユーザーの希望に従った別のフォルダにファイルを移動したいと考えています。 error message

コード:

string path = (carousel.SelectedItem as Book).FileInfo.Path; 
StorageFile file1 = await StorageFile.GetFileFromApplicationUriAsync(new Uri((carousel.SelectedItem as Book).FileInfo.Path, UriKind.Absolute)); 
await file1.CopyAsync(ApplicationData.Current.LocalFolder, ((carousel.SelectedItem as FileInformation).Name), NameCollisionOption.ReplaceExisting); 
Windows.UI.Popups.MessageDialog a = new Windows.UI.Popups.MessageDialog("Moved" + (carousel.SelectedItem as Book).Name, "To" + ApplicationData.Current.LocalFolder.Path); 
await a.ShowAsync(); 

はどのようにそれを処理するために、以下のようにしかし、エラーメッセージに悩まされていますか?

+0

'Book.FileInfo.Path'のサンプル値を投稿 –

+0

私は解決策を見つけましたが、それがそれに関係しているとは確信していません:https://social.msdn.microsoft.com/Forums/en- US/be8eafdc-f880-4186-81da-d1d8dac133f5/storagefilegetfilefromapplicationuriasync-stopped-working-in-release-preview?forum = winappswithcsharp – Blackstar

+0

このプロジェクト:https://drive.google.com/file/d/0B4oRSWSS0hKDMmV6QzBzZ3RDNlU/view?usp =共有。手順:1. [buku]ボタンをクリックし、ダウンロードするブックを選択します。 2.本はKoleksiPageに保管されます。 3.フォルダを作成するには、「Tambah Folder」ボタンをクリックします。 4.ファイルを別のフォルダに移動するには、「Pindah keフォルダ」ボタンをクリックします。 5.ダウンロードした書籍を開くには(書籍をダウンロードせずに書籍がすでにある場合)、メインページの「koleksi」ボタンをクリックします。 – Rose

答えて

0

これは、最大文字数を超えているようには見えません。 GetFileFromApplicationUriAsyncは、任意のパスではなく、アプリケーションURI(たとえば「ms-appx:///foo.txt」)を要求します。

フルパスを使用しているので、StorageFileを使用してください。 GetFileFromPathAsync

FileInfoにすでにStorageFileが含まれている場合は、パスに変換して戻すのではなく、直接使用します。

+0

私は他のフォルダにファイルを移動する必要があるので、彼のパスを取る必要があります。それとも別の方法がありますか? – Rose

関連する問題