简体   繁体   English

通过IE,ADODB.Stream将base64文本数据中的二进制文件保存到硬盘

[英]Saving binary file from base64 text data by IE, ADODB.Stream to hard disk

I had a problem when try to saving a binary file by IE, ADODB.Stream on client. 尝试通过IE,ADODB.Stream在客户端上保存二进制文件时遇到问题。

Assume the the client's browser has full permission to write file to hard disk. 假定客户端的浏览器具有将文件写入硬盘的完全权限。

Here is my client code witten by javascript.: 这是我用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();

As I marked problem come from writing binary data. 正如我标记的问题来自写入二进制数据。 I always got error: 我总是报错:

"Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another" “参数类型错误,超出可接受范围或彼此冲突”

Whatever I format or change data variable to array of bytes, blob ... 无论我格式化还是将数据变量更改为字节数组,blob ...

Please help me how to input data to write binary file in this circumstance. 在这种情况下,请帮助我如何输入数据以写入二进制文件。

您需要使用WriteText

stream.WriteText(data); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM