Я работаю над проектом Angular 6 и сталкиваюсь с проблемой Firefox (63.0) в MacOS High Sierra.
В какой-то момент я загружаю файл из своих активов как объект File,Позже я получаю свойство File name.В Chrome имя файла использует косую черту (/) в качестве разделителя пути, а в Firefox - двоеточие (:) в качестве разделителя пути.
Файл загружается следующим образом:
- AnHTTP GET выполняется для получения ресурса в виде BLOB-объекта;
- Blob-объект преобразуется в файл с использованием:
new File([blob], fileName)
, где fileName - строка, представляющая путь к файлу с использованием косой черты (например: fileName = 'path/to/my/file.txt'
)
Мне удалось воспроизвести ошибку в консоли, выполнив следующие команды:
var blob = new Blob();
var file = new File([blob], 'path/to/my/file.txt');
Полученные объекты отличаются в Chrome и Firefox:
On Chrome 
On Firefox 
Мои вопросы:
Это нормальное поведение конструктора файлов для преобразования имени файла по-разному в зависимости от браузера?
Если да, как мне обращаться с этим поведением, чтобы предотвратитьимя файла, чтобы иметь разные разделители пути в разных браузерах?