Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передать тело файла из indexDb 
V
    Опции темы
cppGhost
Дата 25.7.2014, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.4.2013

Репутация: нет
Всего: нет



Доброго времени суток, проблема такая, буду рад любой помощи или наводке. Есть страничка, которая может загружать в себя файлы. Грузятся они в IndexDb и сами файлы хранятся как переменная типа ArrayBuffer. Эту часть делает некий программист, с которым, в принципе, я могу навести контакт. Теперь мне нужно эти файлы по нажатию на кнопку, например, отправлять на некий сервер (сервер на с++, исходники у меня есть). Проблема в том, что сначала попытался сделать так
Код

$.post(serverPath + "/do_action",    {    action: "upload_file", 
file_name: documents[i].fileName,
blob: "^" + documents[i].file    // это и есть переменная типа ArrayBuffer
}, function(data) 
{
    ..................................
})

но мне не приходят сами данные, а приходит строка вида "[array buffer]". Я пытался переводить это в строку, но тут как то много подводных камней с разрядностью и переводом обратно на стороне сервера. Может есть какой то другой способ передать данные файла?
PM MAIL   Вверх
cppGhost
Дата 29.7.2014, 15:51 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 24.4.2013

Репутация: нет
Всего: нет



Решение все же нашел. Кому-то правда покажется, "а почему бы сразу так не сделать", но вот так голова, значит, варит. Сначала пробовал содержимое ArrayBuffer переводить в символы, а потом на стороне сервера переводить обратно, но было много геморра. особенно с тем, что браузер сам перекодировал большую часть символов в юникод с использованием %. 

Поэтому каждый символ ArrayBuffer я перевел в шестнадцетеричный вид. Получилась строка, которую я на стороне сервера перевел обратно в char. Вот и все, тело файла передано.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0378 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.