通过RESTService(而不是WicketViewer)将文件上传到Apache ISIS服务器

时间:2016-06-17 11:56:51

标签: java apache heap-memory isis

我想将文件上传到我的Apache ISIS Webserver。目前我首先将File转换为String并将此String发送到RESTService。但我发现Apache ISIS为每个字符串分配了大量的java内存空间(文件大约为40MB)。

不,我想知道,如果我可以通过InputStream或其他东西发送我的文件,请不要分配如此多的memoryspace,而不是直接将文件保存到临时位置。

这有可能吗?

感谢您的建议

1 个答案:

答案 0 :(得分:1)

您可以使用DomainObject的Blob ValueType属性:

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