#c# #winrt-xaml
#c# #winrt-xaml
Вопрос:
Я получаю эту ошибку, когда код ищет путь, я не понимаю, почему это произошло, я думаю, что я все делаю правильно.
Код:
string newUri = ImageGalleryUri.Replace("ms-appdatalocal/", ""); //Replace this part of the string with a nonspace character.
newUri = newUri.Replace("/", "\");
newUri = newUri.Replace(" ", " "); //Replace the ASCII code for space for an actual space. For some reason I'm getting invalid character error with .
StorageFolder folder = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile storageFile = await folder.GetFileAsync(newUri);
DataPackage dp = new DataPackage(); //Create the DataPackage containing the clipboard content.
dp.SetBitmap(RandomAccessStreamReference.CreateFromFile(storageFile));
Clipboard.SetContent(dp);
await successDialog.ShowAsync();
Ошибка находится в этой строке: newUri = ms-appdata:localBooksAssetsRecursos para el docenteMatematicas9Esp 1 0Geometria_Page_04.png
StorageFile storageFile = await folder.GetFileAsync(newUri);
Комментарии:
1. Какое значение
newUri
?2. В какой строке это происходит? Выполняли ли вы отладку для проверки фактического значения строки, которую вы создаете, а затем впоследствии получаете ошибку? У нас нет способа узнать, что это за строка, когда вы получаете эту ошибку.
3. Я редактирую вопрос со строкой ошибки.
4. Значение переменной: ms-appdata:\local\ Books\Assets\Recursos para el docente\Matematicas\9\ Esp\1 \0\Geometria_Page_04.png
Ответ №1:
Может быть, попробуйте это:
newUri = Uri.EscapeDataString(newUri);
Вместо:
newUri = newUri.Replace(" ", " ");
Ответ №2:
- Отладка для проверки фактического значения строки.
- Windows R, затем скопируйте строку и посмотрите, откроется ли она.
- Посмотрите, правильно ли экранированы все косые / обратные черты (я не думаю, что здесь правильно использовать обратную косую черту).
-
Создайте файл с именем file.txt и попробуй вот это:
использование Windows.Хранение;
Файл StorageFile = ожидающий файл StorageFile.GetFileFromApplicationUriAsync(«ms-appdata:///local/file.txt «);
- Попробуйте заменить аргумент, переданный в функции выше, на вашу строку.