2017-01-30 24 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-stop-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 folder». 5. чтобы открыть книги, которые были загружены (без загрузки книги и когда книга уже есть), нажмите кнопку «koleksi» на MainPage. – Rose

ответ

0

Это не похоже, что это связано с превышением максимальных символов. GetFileFromApplicationUriAsync ожидает, что URI приложения (например, ms-appx: ///foo.txt) не является произвольным путем.

Поскольку у вас есть полный путь использования StorageFile. GetFileFromPathAsync

Если FileInfo уже содержит StorageFile, то используйте это напрямую, а не конвертируйте его в путь и обратно.

+0

Мне нужно переместить файлы в другие папки, поэтому нужно идти своим путем. Или есть другой способ? – Rose