Запазване на двоичен файл от текстови данни 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 ...

Моля, помогнете ми как да въвеждам данни за запис на двоичен файл при това обстоятелство.


person ronin1184    schedule 31.07.2014    source източник


Отговори (1)


Трябва да използвате WriteText

stream.WriteText(data); 
person tomekcz    schedule 15.10.2014
comment
Моля, обяснете защо вашият отговор работи, вместо просто да го давате. - person Sled; 15.10.2014