# Blob aus byte Array erstellen?



## ARadauer (25. Jan 2008)

Kann mir jemand sagen, wie ich aus einem byte Array ein Blob erstellen kann?

Ich habe hier einen Datencontainer, in dem ich einen Dateiinhalt halten möchte.
Diesen möchte ich jederzeit in eine DB speichern  und wieder laden.

Aus unterschiedlichen Datenquellen bekomme ich byte Array, die ich auch über setBinaryStream in die DB speichern kann. 

Aber ich hätte vorher gerne schon den Blob, also nicht erste nach dem Lesen. Oder soll ich einfach meine Membervarialbe, die die Daten hält, von Blob auf byte Array ändern?


----------



## ARadauer (28. Jan 2008)

ich schieb das mal.
wobei sich meine frage geändert hat. ich möchte nun aus einem inputstream ein byte array erstellen, bzw direkt in die DB üper setBinaryStream is auch ok.

Wobei ich nun das problem habe, das ich mit java 1.5 prgrammieren muss und es die setBinaryStream ohne länge erst in 1.6 gibt.

Konkret meine Frage, wie bekomme ich die Länge eines Inputstreams heraus? Ich habe den Stream von einem FileItemStream aus Commons FileUpload.


----------



## ARadauer (28. Jan 2008)

habs schon
	IOUtils.toByteArray ist mein Freund


----------



## ARadauer (28. Jan 2008)

wie gehe ich jetzt am besten vor um das bild in verschiedenen größen in die Datenbank zu speichern?

Ist es sinnvoll, öfters IOUtils.toByteArray(stream) aufzurufen, 
oder soll man sich ein Buffered Image machen um damit weiterzu arbeiten und mit  "((DataBufferByte) image.getData().getDataBuffer()).getData()" wieder auf die daten zugreifen?


----------

