Я пишу расширение для Firefox. Используя javascript, я хочу загрузить двоичный файл с веб-POST, а затем я хочу записать его содержимое в файл. Моя сложность заключается в том, как преобразовать тип, возвращаемый в Интернете, в тип, необходимый для записи:
var c=new XMLHttpRequest();
c.responseType = "arraybuffer";
var data=Uint8Array(c.response);
«данные» содержат двоичное содержимое.
Чтобы записать это в файл:
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», но единственный способ, которым я нашел это, очень медленный:
for(var i=0; i<data.length; i++)
bstm.write8(data[i]);
Это работает, но очень медленно для файлов среднего размера.
Есть ли лучший способ сделать это?
Благодаря.