Могу ли я изменить расширение StorageFile? - PullRequest
0 голосов
/ 04 июля 2018

Мое приложение UWP - это преобразованный файл. У меня есть пользователь выбирает входной файл, используя FileOpenPicker.PickSingleFileAsync() и выходной файл, используя FileSavePicker.PickSaveFileAsync().

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

Могу ли я сделать это через StorageFile API?

Примечание: я знаю, что могу просто скопировать содержимое в выходной файл, и я уже делаю это. Мне просто интересно, можно ли сделать это более эффективно.

1 Ответ

0 голосов
/ 04 июля 2018

Ответ - да. После тестирования с StorageFile.RenameAsync(), как предлагается в комментариях, следующие работы:

string nextName = file.DisplayName + ".ext";
await file.RenameAsync(nextName, NameCollisionOption.GenerateUniqueName)

Я был в основном обеспокоен, так как файл, выбранный через FileOpenPicker, имеет много ограничений, например Вы не можете получить родительскую папку файла, но переименование без коллизий не ограничено. Однако я не проверял, разрешено ли NameCollisionOption.ReplaceExisting перезаписывать существующие файлы, которые не были выбраны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...