У меня есть проект Angular 5.Получение путей к файлам из базы данных и их воспроизведение.Но некоторые из моих имен файлов похожи на '[Teknik-Ser%% 3A905533837273] _05533837273-630_20181005104235 (160133) .wav' и включают в себя специальные символы, такие как:, []% и т. Д. Поэтому, когда я играю в этом файле, я получаю Uncaught (в обещании) DOMException: не удалось загрузить, поскольку не найден поддерживаемый источник. Ошибка на консоли.% 3A является символом ':', поэтому, когда я вызываю url, возможно, браузер пытается изменить его, чтобы получить ошибку.Но при воспроизведении этого имени файла, например, «[630 Selcuk] _630-140_20180919082432 (76142) .wav», проблем нет. Есть ли способ воспроизвести эти аудиофайлы, которые имеют специальные символы (% 3A,% 5B) в своих именах файлов?
Моя функция воспроизведения звука;
playAudio(filepath) {
let filename= filepath.replace(/^.*(\\|\/|\:)/, '');
console.log(filepath);
if (this.audio.src.replace(/^.*(\\|\/|\:)/, '') == filename) {
// if(this.audio.src==filepath){
if (this.audio.paused)
this.audio.play();
else
this.audio.pause();
}
else {
this.audio.pause();
this.audio = new Audio();
this.audio.src = filepath;
this.audio.load();
this.audio.play();
}
}