You need to put in a bit more buffering, etc. in this code, Mark. I recommend you read up on how to read and to write to files more efficiently. Also, due to the nature of how computers work, I would highly recommend you create a multi-threaded application to do this. You will find that your performance will be hugely impacted.
On 9/27/05, Mark Benussi <[EMAIL PROTECTED]> wrote: > I've seen this conversation before so I don't think I am saying anything > outlandish here. > > There is a performance overhead from reading a database to present to the > JSP page, however you look at it. There is nothing wrong with writing the > image once to the file system, and storing a reference to the image on the > file system. > > -----Original Message----- > From: Braun, James F [mailto:[EMAIL PROTECTED] > Sent: 27 September 2005 17:24 > To: Struts Users Mailing List > Subject: writing images from a database > > Goal: Read a blob image from an Oracle database and render it on an html > page using the struts framework. > > I've never found a good way to do this and I was hoping someone had a > "best practice" suggestion. > > I have no trouble getting the image from the database. However, I wonder > if there isn't a better way to display it rather than writing it to a > physical file and then rendering it. I'm using the <html:img tag to > display the image now. > > All help appreciated. > > J. > > ImputStream pictureStream; > ResultSet rs; > > // create the query and execute it ... > > // get the result > pictureStream = rs.getBinaryStream("picture"); > > // I can write it to a physical file > File pictureFile = new File("/temp/picture.jpg"); > > try > { > FileOutputStream out = new FileOutputStream(pictureFile); > int chunk = 0; > while( (chunk = pictureStream.read()) != -1) > { > out.write(chunk); > } > out.close(); > out.flush(); > } > catch(FileNotFoundException ex) > { > System.err.println("selectionForm.populate.picturefile: " + > ex.getMessage()); > logger.error("selectionForm.populate.picturefile: " + > ex.getMessage()); > } > catch(IOException ex) > { > System.err.println("selectionForm.populate.picturefile: " + > ex.getMessage()); > logger.error("selectionForm.populate.picturefile: " + > ex.getMessage()); > } > > -- > This transmission is intended only for use by the addressee(s) named herein > and may contain information that is proprietary, confidential and/or legally > privileged. If you are not the intended recipient, you are hereby notified > that any disclosure, copying, distribution, or use of the information > contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If > you received this transmission in error, please immediately contact the > sender and destroy the material in its entirety, whether in electronic or > hard copy format. Thank you. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]