Hi,
I'm using activiti 6.0 rest api and trying to save a process .png image as BLOB in my database.
I run a rest get call to the image contentUrl (http://localhost:8080/activiti-rest/service/repository/deployments/1234/resourcedata/image.png) present in my process resources:
restResponse = rest.get(result[1]['contentUrl']){
auth username,password
}
How do I convert this response to a byte[ ]?
thanks for your help
What's rest client library do you use in the following code?
Java data type that you will receive depends on the implementation on the client side(Rest client library).
restResponse = rest.get(result[1]['contentUrl']){
auth username,password
}
If now you receive it as InputStream, you can convert it to byte[] by the method of the following article.
bytearray - Convert InputStream to byte array in Java - Stack Overflow
Sorry for not mentioning this...I am using grails :
import grails.plugins.rest.client.RestBuilder
import grails.plugins.rest.client.RestResponse
RestBuilder rest = new RestBuilder()RestResponse restResponse = rest.get(result[1]['contentUrl']){
auth username,password
}
byte[] png_image = IOUtils.copyToByteArray(restResponse)
And am getting this error:
No signature of method: static grails.io.IOUtils.copyToByteArray() is applicable for argument types: (grails.plugins.rest.client.RestResponse) values: [grails.plugins.rest.client.RestResponse@27a210e7]
Possible solutions: copyToByteArray(java.io.File), copyToByteArray(java.io.InputStream).
How about the following code?
I'm sorry that I don't know about groovy and grails.
I tried to write the example code by using the following sites.
RestResponse (grails-datastore-rest-client 1.0.0.BUILD-SNAPSHOT API)
ResponseEntity (Spring Framework 5.0.2.RELEASE API)
HttpEntity (Spring Framework 5.0.2.RELEASE API)
import grails.plugins.rest.client.RestBuilder
import grails.plugins.rest.client.RestResponse
RestBuilder rest = new RestBuilder()RestResponse restResponse = rest.get(result[1]['contentUrl']){
auth username,password
}byte[] png_image = restResponse.responseEntity.getBody().getBytes()
Ask for and offer help to other Alfresco Process Services and Activiti Users and members of the Alfresco team.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.