Это код, который у меня есть до сих пор, который открывает изображение и пытается сохранить его. Любая информация о том, почему он не работает, было бы большим спасибо.

        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.SuggestedStartLocation =PickerLocationId.PicturesLibrary;
        openPicker.FileTypeFilter.Add(".jpg");
        openPicker.FileTypeFilter.Add(".jpeg");
        openPicker.FileTypeFilter.Add(".png");

        StorageFile file = await openPicker.PickSingleFileAsync();
        if (file != null)
        {



            FileSavePicker savePicker = new FileSavePicker();
            savePicker.SuggestedStartLocation = 
             PickerLocationId.PicturesLibrary;
            savePicker.FileTypeChoices.Add("jpeg image", new List<string>() 
            { ".jpg" });
            savePicker.SuggestedFileName = "Photo";

            string token = Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.Add(file);
            StorageFile SaveFile = await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);

            StorageFile savefile = await savePicker.PickSaveFileAsync();

            if (SaveFile != null)
            {
                 await FileIO.WriteTextAsync(SaveFile, SaveFile.Name);
            }

        }
-1
Chuggingtonss 4 Янв 2018 в 09:00

1 ответ

Лучший ответ

Вы сохраняете открытый файл в FutureAccessList, а затем сразу же извлекаете его как переменную SaveFile. Справа ниже вы создаете saveFile, который, я думаю, вы хотели использовать, но в методе WriteTextAsync вы передаете SaveFile в качестве цели, а не saveFile.

Вам определенно следует улучшить свое соглашение об именах, поскольку две переменные, различающиеся только регистром, очень подвержены ошибкам. Более того, локальные переменные всегда должны начинаться со строчной буквы.

0
Martin Zikmund 4 Янв 2018 в 10:02