2016-06-17 5 views
1

Я хочу загрузить файл на свой веб-сервер Apache ISIS. На данный момент я сначала конвертирую файл в строку и отправляю эту строку в службу RESTS. Но я понял, что Apache ISIS выделяет много пространства памяти Java для каждой из строк (файлы составляют около 40 МБ).Загрузка файла на сервер Apache ISIS через RESTService (не WicketViewer)

Нет, я хочу знать, могу ли я отправить свой файл через InputStream или что-то другое, чтобы НЕ выделять столько пространства памяти, а не сохранять файл непосредственно во временное место.

Возможно ли это как-то?

Спасибо советы

ответ

1

Вы можете использовать свойство Blob ValueType в виде DomainObject:

http://isis.apache.org/guides/rgcms.html#_rgcms_classes_value-types_Blob

и использовать регулярную поддержку RestfulObjects просмотра для установки значения свойства:

http://markmail.org/message/luwajq3tdoxdhnft

- in the RO viewer, invoke: 

http://localhost:8080/restful/objects/BLOBCLOB/0/actions/updateSomeImage/invoke 

with body set to: 

{ 
    "blob": { 
     "value": 
     "Amelie-0-flowers.jpg:image/jpeg:/9j/4AAQSkZJRgABAQEASABIAAD//gAcY21wMy4xMC4zLjFMcTMgMHg0NmE5YmE5ZgD..." 
    } 
} 

HTH

Kambiz

Смежные вопросы