Javascript类型转换
Javascript type conversion
本文关键字:类型转换 Javascript 更新时间:2023-09-26
我正在写一个Firefox扩展。使用javascript,我想从web POST下载一个二进制文件,然后我想把它的内容写入一个文件。我的困难是如何从网络返回的类型转换为写入所需的类型:
var c=new XMLHttpRequest();
c.responseType = "arraybuffer";
var data=Uint8Array(c.response);
"data"包含二进制内容。将其写入文件:
var file= FileUtils.getFile("ProfD", ["somefile"]);
var ostm= FileUtils.openFileOutputStream(file);
var bstm= Cc['@mozilla.org/binaryoutputstream;1'].createInstance(Ci.nsIBinaryOutputStream);
bstm.setOutputStream(ostm);
然后我需要在"bstm"中写入"data",但我发现这样做的唯一方法非常慢:
for(var i=0; i<data.length; i++)
bstm.write8(data[i]);
这个可以工作,但是对于中等大小的文件来说速度很慢。有更好的方法吗?谢谢。
不太确定你想要达到什么目的,但也许这可以帮助你。
Firefox海报扩展:http://www.google.nl/codesearch#1Ekgj8MZCE0/README&q=Firefox%20extension&l=9&ct=rc&cd=6
它似乎正在做你需要的
您可以将其转换为"常规"数组,如下所示:
var dataArray = Array.prototype.slice.call(data);
这将允许你写出数据:
bstm.writeByteArray(dataArray, dataArray.length);
这个转换在Firefox 11中将不再需要,你可以直接传入Uint8Array
相关文章:
- 弱类型语言类型转换的意思在哪里,为什么使用.例如JavaScript
- JavaScript 中的显式类型转换和类型
- Javascript类型转换悖论
- 将嵌套的 c# 类型转换为 json,并在 javascript 中使用它
- Dojo Dnd 问题:使用 JavaScript 通过 Dnd 项类型转换为 JSON
- 奇怪的JavaScript类型转换
- JavaScript 的 (0 == “”) === true 如何与 ECMA-262 类型转换规则一致
- JavaScript 括号将基元类型转换为对象
- Javascript/google闭包库中的类型转换
- 是否可以像在Javascript对象中那样将整数值存储在localStorage中,并在不进行类型转换的情况下提取它
- 将JSON转换为X类型的JavaScript对象
- javascript中带有无符号32位整数的位移位/类型转换
- Javascript中的类型转换
- Javascript类型转换
- JavaScript智能感知类型转换
- JavaScript 类型转换:(true && 1) vs (true | | 1).例如,
- Java到JavaScript类型转换算法
- 在Javascript中添加和减去字符串和数字-自动类型转换
- 类型转换- Javascript -转换字节到字节
- 类型转换-JavaScript-为什么使用+!{}[0]==1