Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.07.2013, 16:15
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Загрузить файл в переменную
Подскажите, как можно загрузить файл из компьютера пользователя в переменную? Чтобы потом можно было прочесть его FileAPIReader'ом:
FileAPIReader(file)

В наличии имеется ссылка на файл вида "D:/node-webkit/пыщьпыщь.mp3". Это десктопное приложение, без сервера.
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2013, 11:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

fs = require("fs");
fs.readFile('D:/node-webkit/пыщьпыщь.mp3', "binary", function(err, file) {
    // тут работаем с file
});

Повторяю для особо упоротых: в NodeJS нет никакого FileReader, он есть только в браузерах. В NodeJS для работы с файлами используется модуль fs.
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2013, 16:34
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

Сообщение от Romaboy Посмотреть сообщение
D:/node-webkit/пыщьпыщь.mp3
Тут я тонко намекал на использование вебкита, в котором таки есть файлридер. fs.readFile возвращает в колбэк содержимое файла, а нужно сам файл (его объект). Что я имею ввиду:
<input type="file" onchange="console.log(this.files[0]);">

алерт выведет [object File], console.log залогирует:
File {webkitRelativePath: "", lastModifiedDate: Sun Jul 07 2013 14:44:19 GMT+0300 (Финляндия (лето)), path: "D:\node-webkit\пыщьпыщь.mp3", name: "пыщьпыщь.mp3", type: "audio/mp3"…}
Вот такой эффект даёт кнопка загрузки, мне нужно добиться этого средствами ноды, но fs.readFile возвращает ненужный текст файла и делает это намного дольше, чем кнопка файл грузит и теги извлекает. Всё ещё надеюсь на помощь.
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2013, 17:28
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Смотри, берешь читаешь файл через fs.readFile, полученный буфер конвертируешь в ArrayBuffer. Далее из него создаешь Blob. И скармливаешь его FileReader'у. Не проверял, но по идее должно сработать.
Вот только не проще ли найти либу для чтения тегов из NodeJS ?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать переменную с jquery в php Максим2 jQuery 14 28.07.2013 11:38
Как загрузить в переменную содержимое блока другой страницы? Hasanaga999 jQuery 3 25.04.2013 23:27
Загрузить вебстраницу в переменную JS andreyua Javascript под браузер 14 16.08.2011 00:34
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
загрузить файл menu.html e-v-geni Общие вопросы Javascript 9 30.05.2010 16:40