Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2014, 10:46
Новичок на форуме
Отправить личное сообщение для vladimir130892 Посмотреть профиль Найти все сообщения от vladimir130892
 
Регистрация: 28.01.2014
Сообщений: 4

Чтение бинарного файла
Здравствуйте)

Возникла проблема следующая:

Выбираю бинарный файл:
<input type='file' id="Bfile">



И кликом вызываю:
var ARRAY;
ARRAY = openFile();



Функция openFile():
function openFile() {
var input = document.getElementById("Bfile");
var arr = [ ];
var reader = new FileReader();
reader.onload = function (event){
var reader = event.target;
var arrayBuffer = reader.result;
arr = new Int32Array(arrayBuffer);
return arr;
};
return reader.readAsArrayBuffer(input.files[0]);
};



Хочу добиться того, чтобы функция вернула массив arr, т.е. фактически чтобы ARRAY = arr. Пока ничего не выходит... Помогите пожалуйста...
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2014, 12:08
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

function openFile(callback) {
    var input = document.getElementById("Bfile");
    var reader = new FileReader();
    reader.onload = function (event){
        var reader = event.target;
        var arrayBuffer = reader.result;
        callback(new Int32Array(arrayBuffer));
    };
    reader.readAsArrayBuffer(input.files[0]);
};

openFile(function(ARRAY) {
    // здесь работаем с полученным массивом
});
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2014, 13:29
Новичок на форуме
Отправить личное сообщение для vladimir130892 Посмотреть профиль Найти все сообщения от vladimir130892
 
Регистрация: 28.01.2014
Сообщений: 4

большое спасибо)
Ответить с цитированием
  #4 (permalink)  
Старый 03.02.2014, 20:53
Новичок на форуме
Отправить личное сообщение для Serafim12 Посмотреть профиль Найти все сообщения от Serafim12
 
Регистрация: 03.02.2014
Сообщений: 2

Здравствуйте, а не подскажите как быть, если у меня в файле массив сохранены обычные числа?

Сохранять как текст ( readAsText ), а потом переделывать?
Ответить с цитированием
  #5 (permalink)  
Старый 03.02.2014, 22:22
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Читай как текст, делай split по переносу строки, для каждого элемента split по пробелу.
Ответить с цитированием
  #6 (permalink)  
Старый 04.02.2014, 00:00
Новичок на форуме
Отправить личное сообщение для Serafim12 Посмотреть профиль Найти все сообщения от Serafim12
 
Регистрация: 03.02.2014
Сообщений: 2

Сообщение от Яростный Меч Посмотреть сообщение
Читай как текст, делай split по переносу строки, для каждого элемента split по пробелу.
Вот сделал)
var b= new Array();
           b = arr.split("\n");
for (var i = 0; i < b.length; i++) 
{
    b[i] = b[i].split(" "); 
}



Спасибо.
Ответить с цитированием
  #7 (permalink)  
Старый 04.02.2014, 01:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Serafim12,
Сообщение от Serafim12
b= new Array();
это лишнее
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение файла Oleg_Antonov AJAX и COMET 3 11.10.2012 13:27
Чтение из тектового файла Jackky Общие вопросы Javascript 14 30.06.2012 01:00
Чтение и запись с txt или csv файла vitaver AJAX и COMET 0 23.12.2010 20:43
Чтение файла средствами javascript DVVID Общие вопросы Javascript 4 05.04.2010 15:00
чтение из случайного файла lesik Общие вопросы Javascript 7 07.07.2008 17:24