Загрузка небольшой фотографии для ориентации базы данных с использованием API отдыха

У меня есть следующая таблица в базе данных orient

create class person extends V
create property person.image Binary
create property person.name string

Я использую http/REST для загрузки изображения в базу данных ориент.

http://:2480/document/ — это адрес

Я пробовал следующие способы

1) закодировал изображение в base64, используя библиотеку, доступную в Android 4, и создал json, который содержит эти данные base64, и попытался опубликовать его на остальной сервер, я получаю следующее сообщение об ошибке

com.orienttechnologies.orient.core.exception.OSerializationException: ошибка при распаковке содержимого JSON для записи №-1:-1

--> com.orienttechnologies.common.io.OIOException: неверный входной символ Base64 с десятичным числом 63 в позиции массива 0

Я попытался использовать код apache для кодирования того же изображения в base64, все еще похожее сообщение об ошибке.

Я также попробовал следующий байт [] base64=Base64.encode(image, Base64.DEFAULT); String str = new String (base64) и использовал эту строку при создании json и отправил json, но безуспешно.

Я также попытался поместить двоичный файл в _ + str + _, как указано в следующей ссылке https://code.google.com/p/orient/wiki/Types, но безуспешно.

Может ли кто-нибудь помочь мне опубликовать данные изображения.

Я могу публиковать и размещать другие типы данных, используя сервер отдыха OrientDB.

Заранее спасибо С уважением


person user3206140    schedule 17.01.2014    source источник
comment
2014-01-17 09:30:13:642 INFO Индексы восстанавливаются после завершения сбоя. [OIndexManagerShared] com.orientechnologies.common.io.OIOException: неверный входной символ Base64 с десятичным числом 92 в позиции массива 90 в com.orienttechnologies.orient.core.serialization.OBase64Utils.decode(OBase64Utils.java:1160) в com.orienttechnologies.orient .core.serialization.OBase64Utils.decode(OBase64Utils.java:1213) в com.orienttechnologies.orient.core.serialization.OBase64Utils.decode(OBase64Utils.java:1180) в com.orientechnologies.orient.core.serialization.serializer   -  person user3206140    schedule 18.01.2014


Ответы (1)


Для загрузки изображений (BLOB) в OrientDB, похоже, существует некоторая команда загрузки, поддерживаемая OrientDB в REST. Это еще не задокументировано, поэтому ничего нельзя сделать, кроме как попытать удачу. Надеюсь, ребята из OrientDB скоро задокументируют команду и ее использование.

Проверить – https://groups.google.com/forum/#!topic/orient-database/ahrCcp33udA

==========

[ОБНОВЛЕНИЕ]

Команда HTTP REST — uploadSingleFile и может использоваться, как показано ниже:

http://{хост-сервер}:2480/uploadSingleFile/{база данных}

Это вызов POST, и файл отправляется как полезная нагрузка. Попробуйте изучить, как OrientDB Studio пытается загрузить изображение на сервер. OrientDB Studio также является веб-приложением, разработанным в BootStrap + AngularJS + OrientDB, так что это хорошая отправная точка для понимания. В OrientDB Studio есть возможность загружать изображение при редактировании записи. К сожалению, на мой взгляд, даже функция загрузки изображений Studio также дает ту же ошибку исключения, что и в вашем случае.

person Gaurav Dhiman    schedule 05.03.2014