Сохранение двоичного файла из текстовых данных base64 с помощью IE, ADODB.Stream на жесткий диск

У меня возникла проблема при попытке сохранить двоичный файл IE, ADODB.Stream на клиенте.

Предположим, что у браузера клиента есть полное разрешение на запись файла на жесткий диск.

Вот мой код клиента, засвидетельствованный javascript.

var base64_encoded_string = "base64 string of a binary file";
var data = window.atob(base64_encoded_string);
var stream = new ActiveXObject("ADODB.Stream");
stream.Type = 1; // text
stream.Open();
stream.Write(data); //Problem in here
stream.SaveToFile("D:\\Whatever.pfx", 2);
stream.Close();

Как я уже отмечал, проблема заключается в записи двоичных данных. Я всегда получаю ошибку:

"Аргументы имеют неправильный тип, находятся за пределами допустимого диапазона или противоречат друг другу"

Что бы я ни форматировал или не изменял переменную данных в массив байтов, blob ...

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

1 ответ

Вам нужно использовать WriteText

stream.WriteText(data); 
Другие вопросы по тегам