Dynamically Out put a image in Jsp - Mailing list pgsql-jdbc
From | Dilan |
---|---|
Subject | Dynamically Out put a image in Jsp |
Date | |
Msg-id | 200505270137.j4R1bWMh029971@internal.waterfind.com.au Whole thread Raw |
In response to | Re: BIGINT <-> java.lang.String auto cast (Dave Cramer <pg@fastcrypt.com>) |
List | pgsql-jdbc |
Hello, I'm using psql 8.0.3-RH, And using hibernate version 2.0.3 mapping, I'm using hibernate to connect postgresql via java, and I'm trying to save a image as a binary file, When I upload, use this part of the class: UploadTransferForm uForm = (UploadTransferForm) form; int size=uForm.getFileUpload().getFileSize(); byte[] byteArr = new byte[size]; ActionErrors errors = new ActionErrors(); try { //Create an input stream to read the uploaded file. ByteArrayInputStream bytein = new ByteArrayInputStream(uForm.getFileUpload().getFileData()); // Load the input stream into the byte Array. bytein.read(byteArr); // Close the input stream. bytein.close(); // Load the byte[] into the content field. uForm.setContent(byteArr); } catch (Exception e) { logger.error("Error adding image to the database", e); } Session sess = null; AuthorityApprovalForms af = new AuthorityApprovalForms(); try { sess = Waterfind.getSessionFactory().openSession(); } catch (net.sf.hibernate.HibernateException e) { logger.error("Error opening hibernate session", e); } try { af.setImg(byteArr); sess.save(af); sess.flush(); } catch (Exception e) { -- when i diplaying it try { AuthorityApprovalForms af = new AuthorityApprovalForms(); Long formId = new Long(request.getParameter("formId")); af = AuthorityApprovalForms.getFormById(formId); byte pic[] = af.getImg(); OutputStream out = response.getOutputStream(); out.write( pic ); } catch (IOException e) { logger.error("Error opening file region", e); } } I have save the data into the database via hibernate-mapping as binary <hibernate-mapping> <class name="com.admin.AuthorityApprovalForms" table="AUTHORITY_APPROVAL_FORMS"> <id name="id" type="long"> <generator class="native"/> </id> <many-to-one name="OfferId" class="com.admin.core.Offer"> <column name="offer_id"/> </many-to-one> <property name="name" type="string"/> <property name="type" type="string"/> <property name="img" type="binary"/> </class> </hibernate-mapping> in JSP <img src="trasnferImage.html?formId=<%= String.valueOf(formId) %>" align="absmiddle" border="0"> However, when jpg is displaying, it appear to be corrupted, with green and black back ground (similar to missing layers). I Think this is something to do with setting up the content type? can some one help me with how to set it up? I even check byte compression between before and after saving the data, and no different between that either, can some one please help regards that or give me some comments regards the problem. I even upgrade the database version, All I want to do is, upload the jpg files to the database then later display it. Regards
pgsql-jdbc by date: