Я работаю над веб-приложением, которое открывает двоичные файлы и позволяет их редактировать.
Этот процесс в основном ondrop -> dataTransfer.files[0] -> FileReader -> Uint8Array
По сути, я хочу иметь возможность сохранить измененный файл в виде двоичного файла. В идеале как загрузка файла с указанным именем файла.
Кажется, не существует какого-либо стандартного метода сделать это, и это отстой, потому что все, что было до этого момента, хорошо поддерживается.
В настоящее время я преобразовываю массив в строку, используя String.fromCharCode()
, кодировку base64 и используя uri данных в гиперссылке, такой как data:application/octet-stream;base64,..
, вместе с атрибутом download
для указания имени файла.
Кажется, это работает, но довольно хакерски, и я думаю, что преобразование необработанных байтов в строку может привести к проблемам с кодировкой в зависимости от значений байтов. Я не хочу, чтобы данные были повреждены или сломали строку.
За исключением этого, есть ли лучший/правильный метод для получения массива байтов в виде двоичного файла для пользователя?