В настоящее время я работаю над собственным приложением реагирования и выполняю некоторую очистку имени файла.Я заметил, что некоторые загрузки файлов не выполнялись для символов с акцентами в именах.Я начал удалять специальные символы с помощью функции нормализации, поскольку регулярное выражение само по себе недостаточно, однако эта функция, похоже, не поддерживается на Android.
Пример:
sanitizeFileName(fileName) {
let encodedFileName = fileName || "upload";
encodedFileName = encodedFileName.normalize('NFD');
encodedFileName = encodedFileName.replace(/[^a-zA-Z0-9]/g,'_');
return encodedFileName;
}
иэто ошибка сгенерированного андроида:
TypeError: undefined is not a function (evaluating 'o.normalize('NFD')'
Вышеприведенная функция работает как положено на iOS по некоторым причинам.Глядя на документацию по normalize , говорится, что она поддерживается в Node.js
Мне интересно, может быть, опция 'NFD' не поддерживается или что-то в этом роде?
Приведенная выше функция работает, однако, если я удаляю часть normalize
...
Она также работает с функцией нормализации в режиме отладки.