How to show an image in JSP given the bytes[] of the photo?

Hi all,
I stored a user's picture in the db as text. For this I simply converted the JPG to bytes[] and from bytes to string: Base64.encode(bytes)
Now I wish to do the reverse - to 'output' the image on the screen. So given the bytes[] of the image with
          byte[] bytesDB = Base64.decode(userPhotoStr); //userPhotoStr is something like this: /9j/4AAQSkZJRgA...Question: How can I show the image in the JSP page embedded in the page not as download?
I'm using struts with JSP pages.
Thank you!!!!

Images in HTML are to be displayed using <img> element. All what an <img> element can take as image is an URL pointing to the image in question.
If the image is dynamic, then you can just let that URL point to some Servlet which takes some request parameter or reads the path info, reads/gets the image as byte array or (much more efficient) as inputstream and writes it to the outputstream of the response.
You may get some ideas out of this: [http://balusc.blogspot.com/2007/04/imageservlet.html].
By the way, massaging the byte array from/to a String is a terribly bad idea. Just store bytes as computer readable bytes, not as human readable characters, this makes completely no sense. Characters on its turn have to be converted to bytes again after all, but now you've let the DB do the work. All with all a performance pain. Bytes > Chars > Bytes > Chars > Bytes instead of just Byes > Bytes. In database you normally use BLOB, BINARY or equivalent for this in combination with JDBC's PreparedStatement#setBinaryStream() and ResultSet#getBinaryStream().

Similar Messages

  • How do I view images horizontally on my 6 Plus? The phone is only allowing me to see everything in a vertical form?

    How do I view images horizontally on my 6 Plus? The phone is only working in a vertical mode,
    and I wish to be able to switch between viewing horizontally and vertically. Changing the angle of the
    phone does not change the viewing angle of the image.

    You may have orientation lock turned on. If you open Control Center by sliding up with one finger starting below the bottom of the home screen, you should see an icon that looks like a lock with a partial circular arrow around it. The turns orientation lock on/off. When on you should see a small version of the same icon in the menu bar.

  • How to upload an image in jsp page

    hi,
    I want to upload an image file with my jsp page, but i cannot do it,
    I have used Jakarta common file upload for this & i have also read following file. But my code isnot working properly? Can you give me any example how to upload an image & how to display it?
    Can u give me any source code? Please help me.
    http://jakarta.apache.org/commons/fileupload/using.htmlwith regards
    Bina

    Hi,
    But after writing the following code i have got following error? What's the problem of this code? please help me?
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    <%@ page import="org.apache.commons.fileupload.*" %>
    <%@ page import ="java.util.*" %>
    <%@ page import ="java.io.*" %>
    </head>
    <body>
    <%
    boolean isMultipart = FileUpload.isMultipartContent(request);
    DiskFileUpload upload = new DiskFileUpload();
    List items = upload.parseRequest(request);
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
    FileItem item = (FileItem) iter.next();
    if (item.isFormField()) {
    String name = item.getFieldName();
    String value = item.getString();
    //ring name= request.getParameter("")
    %>
    <%= name %>:<%= value %>
    <%
    } else {
    %>
    <%
    InputStream stream = item.getInputStream();
    OutputStream bos =
         new FileOutputStream(getServletContext().getRealPath("/images"+"/"+ item.getName()));
    int bytesRead = 0;
    byte[] buffer = new byte[8192];
    while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
    bos.write(buffer, 0, bytesRead);
    bos.close();
    stream.close();
    item.delete();
    %>
    </body>
    </html>Error is:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileUpload cannot be resolved
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    DiskFileUpload cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    DiskFileUpload cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileItem cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileItem cannot be resolved to a type
         org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileUpload cannot be resolved
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    DiskFileUpload cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    DiskFileUpload cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileItem cannot be resolved to a type
    An error occurred at line: 13 in the jsp file: /uploadfileC.jsp
    Generated servlet error:
    FileItem cannot be resolved to a type
         org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
         org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
         org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:414)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
         org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
         org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
         org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
         org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         javax.servlet.http.HttpServlet.service(HttpServlet.java:802)Please help me.
    With regards
    Bina

  • How to dynamically display images in JSPs

    This took a little while to figure out so I thought I'd share. After
              doing some research I was led to the following approach on how to load
              images from an Oracle database into a JSP:
              The "main" JSP:
              <HTML>
              <head>
              <title>Image Test</title>
              </head>
              <body>
              <center>
              hello
              <P>
              <img border=0 src="getImage.jsp?filename=2cents.GIF">
              <P>
              <img border=0 src="getImage.jsp?filename=dollar.gif">
              <P>
              world
              </body>
              </HTML>
              And this is the image getter:
              <% try {
              response.setContentType("image/gif");
              String filename = (String) request.getParameter("filename");
              java.sql.Connection conn =
              java.sql.DriverManager.getConnection("jdbc:weblogic:pool:orapool"); //
              connect to db
              java.sql.Statement stmt = conn.createStatement();
              String sql = "select image from testimage where filename = '" +
              filename + "'";
              java.sql.ResultSet rs = stmt.executeQuery(sql);
              if (rs.next()) {
              byte [] image = rs.getBytes(1);
              java.io.OutputStream os = response.getOutputStream();
              os.write(image);
              os.flush();
              os.close();
              conn.close();
              catch (Exception x) { System.out.println(x); }
              %>
              The thing to note is that there are no <%@ page import="..." %> or <%@
              page contentType="..." %> tags - just the single scriptlet. It
              seems that for every "<%@" the weblogic compiler sees it puts
              out.print("\r\n"); statements in the generated java source.(???) I
              don't know much about how browsers work but I think that once it sees
              flat ascii come at it it treats everything that follows as text/plain
              which is incorrect for the binary stream that's being sent. Another
              work around was to set out = null; but that's kind of ugly and might
              produce server errors. The real fix is to write a bean to handle images
              which I'll work on next (does anybody have any hints on how to do
              that?)
              -Erik.
              PS, thank you to the people that posted info in this group that helped
              me track down this problem. -
              

    Erik,
              No need to write a bean, just write a serverlet...
              you can use this function (however you might want to include some
              improved error handeling)
              Oh, FYI to prevent caching by the browser you might want to pass a parameter
              into the creation of the image like timeseconds or (in my case) variable
              text which
              was included into the image produced. (You need not even use the variable in
              the code, the server is not bright enough to tell)
              <IMG SRC=".....MyImageProducer?file=my.jpeg&timesecs=12345134">
              Jay L. Toops
              public boolean httpJpegStreamWriter(BufferedImage ib, HttpServletResponse
              response) {
              try {
              javax.servlet.ServletOutputStream myout = response.getOutputStream();
              byte b[] = new byte[1024];
              response.setContentType("image/jpeg");
              //File file = new File("./myserver/public_html", "testjlt.jpg");
              //FileOutputStream fos = new FileOutputStream(file);
              ByteArrayOutputStream fos = new ByteArrayOutputStream();
              JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
              JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(ib);
              param.setQuality(1.0f,false);
              encoder.setJPEGEncodeParam(param);
              encoder.encode(ib);
              b = fos.toByteArray();
              response.setContentLength(b.length);
              myout.write(b, 0, b.length);
              myout.flush();
              myout.close();
              } catch (Exception e) {
              System.out.println("MY httpJpegStreamWriter Exception\n is :"+
              e.toString());
              return(false);
              return(true);
              Erik Lindquist wrote:
              > This took a little while to figure out so I thought I'd share. After
              > doing some research I was led to the following approach on how to load
              > images from an Oracle database into a JSP:
              >
              > The "main" JSP:
              >
              > <HTML>
              > <head>
              > <title>Image Test</title>
              > </head>
              > <body>
              > <center>
              > hello
              > <P>
              > <img border=0 src="getImage.jsp?filename=2cents.GIF">
              > <P>
              > <img border=0 src="getImage.jsp?filename=dollar.gif">
              > <P>
              > world
              > </body>
              > </HTML>
              >
              > And this is the image getter:
              >
              > <% try {
              > response.setContentType("image/gif");
              > String filename = (String) request.getParameter("filename");
              > java.sql.Connection conn =
              > java.sql.DriverManager.getConnection("jdbc:weblogic:pool:orapool"); //
              > connect to db
              > java.sql.Statement stmt = conn.createStatement();
              > String sql = "select image from testimage where filename = '" +
              > filename + "'";
              > java.sql.ResultSet rs = stmt.executeQuery(sql);
              > if (rs.next()) {
              > byte [] image = rs.getBytes(1);
              > java.io.OutputStream os = response.getOutputStream();
              > os.write(image);
              > os.flush();
              > os.close();
              > }
              > conn.close();
              > }
              > catch (Exception x) { System.out.println(x); }
              > %>
              >
              > The thing to note is that there are no <%@ page import="..." %> or <%@
              > page contentType="..." %> tags - just the single scriptlet. It
              > seems that for every "<%@" the weblogic compiler sees it puts
              > out.print("\r\n"); statements in the generated java source.(???) I
              > don't know much about how browsers work but I think that once it sees
              > flat ascii come at it it treats everything that follows as text/plain
              > which is incorrect for the binary stream that's being sent. Another
              > work around was to set out = null; but that's kind of ugly and might
              > produce server errors. The real fix is to write a bean to handle images
              > which I'll work on next (does anybody have any hints on how to do
              > that?)
              >
              > -Erik.
              >
              > PS, thank you to the people that posted info in this group that helped
              > me track down this problem. -
              

  • How to display local image using JSP in Struts

    I am trying to display image from my local disk (eg. file://C:/Documents%20and%20Settings/varshaaz/Desktop/DSC_6172.jpg). When I execute my JSP(http://localhost:8080/sharedgreeting/test.jsp) , Image doesn't display instead I see cross icon. Though properties of that icon shows correct file path.
    Content of my JSP is :
    <html>
    <body>
    <img src="file://C:/Documents%20and%20Settings/varshaaz/Desktop/DSC_6172.jpg"/>
    </body>
    </html>

    Store your images in a folder (I've called mine gfx) under the WebContent folder of the WAR and make a call to that folder using a relative link rather than one on your hard disk, if it is a web project.
    WebContent
    --- gfx
    --- stylesheets
    --- etc...
    --- createMeetingOrSomething.jsp
    Then the link in the above jsp will be:
    <img src="gfx/someJPEG.jpg" height="50">Illu
    Message was edited by:
    Illu

  • How to display stored image in jsp  in ie7???

    i am using internet explore7. i have a problem when i am displaying an image in jsp its not properly coming. this image and image is stored in database.
    image is stored in database using "binarystream" .
    i am just simply calling the image path and using the html image display tag.
    <img src="<%=fileIpath%>" but image is not coming properly but this image is showing properly in lower ie version.
    Can anyone help me???

    can anyone reply this question??Appearently no.
    It might be that the question is not interesting enough to attract people.
    Or it might be that the details you provided do no suffice and some important pieces of information are missing. For eample: what are the contents of the variable? If you save the generated page, what do you get?

  • How to show "sold" image ..........

    Hi there
    Hope everybody is well ..... merry x mas and all that
    I having some problems with my site..... I have a simple site that has a simple shopping cart... with no payment gateway.... cash on delivery or bank transfer only.......
    i have product pages all with a buy now button that adds items to a cart and I have all my cart pages working fine
    I trying to figure out how to add a "sold" image to products that are sold out.....
    In my product table in my database I have a field for howmany_pro to store how many of a product I have in stock
    So that when I add a new product.... using my addproduct.php page I can enter the number ... amount....of a product I have......in stock..... into the add product form ..... as a number to be stored in my howmany_pro field in my product table .....
    So.... so far so good......
    So now ... I want that number.... the howmany_pro number to decrease everytime an item is purchased ... so I can make sure that I have the product asked for in stock..... so I don't get two people ordering the same product.....
    So that when the number of stock goes to Zero "0" I can use the show regieon if database value = "0" behaviour
    I have really no idea how to get this to work......
    Any ideas or help would be great .
    Have a great day
    bibibibi

    Hey Charis,
    Give this a try.
    in phpmyadmin make sure the field that holds your inventory count is set to "unique".
    Then this next part I would do after making a backup of one of the trigger class files as it requires editing a certain value.
    On the insert transaction page add the "auto-increment" behaviour which can be found under developer toolbox/forms/advanced/auto increment column. Then choose the field you would like to auto increment (which will be your inventory field). This will now get the largest value from this field and add 1 to the next record inserted. So this is what we want right? almost... we want to subtract 1 instead. This is where the edit for the value in the class trigger file comes in.. I have not tested this so please make a back up of the file before saving out.
    Open "tNG_SetOrderField.class.php" which can be found under "includes/tng/triggers" and go to line 83. you will see code that says
    $sql = 'SELECT MAX(' . KT_escapeFieldName($this->field) . ') + 1 AS kt_sortvalue FROM ' . $this->table;
    There is a "+1"
    I would think change this to a "-1" and test it out.
    hopefully this works :)

  • How to show an image(jpg/gif) on a JTabbedPanel

    Hi
    I tried to show an image on a JPanel of a JTabbedPanel.
    I the only way to show it for some time was this:
    in the StateChangedListener I use drawImage when the selected panel is teh one I want to draw the image at.
    Tracing code makes the panel show, burt when I step
    all the way up, the panel will be repainted without my image.
    I use mediatracker to get the image loaded.
    Any Idea
    Hanns

    JTabbedPane has components as its tabs. Using a JPanel is not mandatory. Try using a JLabel instead with an Icon (use ImageIcon) in it.
    JTabbedPane tabbed = new JTabbedPane();
    tabbed.addTab(
        "my image panel",
        new JLabel( new ImageIcon( "images/MyIcon.gif" ) )
    );if your were referring to the image of the little tabs, use this:
    JTabbedPane tabbed = new JTabbedPane();
    tabbed.addTab(
        "my tab",
        new ImageIcon( "images/MyImage.gif" ),
        myPanel // instance of Component, can be a JPanel or any JComponent you want.
    );

  • How to show database data in jsp page?

    actually i m doing a small appliaction of quiz test.
    where i m keeping my question and answers in the database.
    now i want to pull questions from the database and display in the jsp or html page.for each question i m having 4 options 4 them.
    like this user has to answer the question and display the resuklt in the end.
    so how can i do this?
    can i get any example or source code for this from any sites?

    Hope this will be ur assignment. Pls try to start ur assignment and post ur doubts with ur code. So that some one can help u.
    Cheers.

  • How to display uploaded image in jsp page.

    Hello,
    I am using struts 1.2.9 and and have uploaded image on the server. Now what I want to do display the image in jsp page after clicking on one link in jsp. I have tried many thing to display image in jsp page. But I am getting an error during displaying image in jsp. I have displayed absolute path in servlet. and used InputStream and outputstream to display image in jsp page.
    Can any one help.
    Thanks in advance
    Manveer Singh

    Follow this. This topic is very popular recently on the forum.

  • How to show a Image (from shell, python or what ever)

    Hi guys
    An Application written in c#/mono takes up to 7 seconds to start. So i was asked to do a little splash screen for it.
    I coul'd not figure out how to do it from shell and i couldn't find the pygtk bindings installed, so i did it quick and dirty in mono showing just an animated gif and killing the process after the applicaiton started.
    The problem with this Solution is that the splash screen itself takes up to 3 seconds to show up, which is quite long.
    Any idea how i could do it from shell or maybe in python or c? Thing is, i can't install any new libraries on that system so it has to be done with the very basic stuff that comes with the xserver.
    Window manager is fvwm. And i would like to stick with the animated gif, since i already have it.
    Lg, Archdove
    display (imagemagic) is probably installed. But how can i deactivate the window decorator? It would also help if i could just set the window title by my self since there is a rule (which i cannot alter or add one more) to do this for special windows.
    Last edited by Archdove (2012-01-25 19:05:38)

    Got it with the -title switch... don't know if it will help me tough
    I just keep updateing here... the tool animate has to be used to animate the gif.
    So what i still need to know is how i can set the exact position of the window to be shown.
    animate -geometry 100%+0+300 -delay 10 -title windowTitle loading14.gif - BÄM!
    Last edited by Archdove (2012-01-25 19:35:56)

  • How to show icon image on Unix

    I the Button Icons are fine on NT machines. When I move the application to a Unix machine, the icons won't show up. How do I set up to let them show up? Any suggestion? Thanks.
    -- [email protected]

    Hello,
    This plugin Does Exactly What You Need.
    http://www.apex-plugin.com/oracle-apex-plugins/item-plugin/extension-warp11-gmaps-item_109.html
    Please read the comments on the plugin, in case you come across problem in running the plugin....
    Best Regards,
    Fateh
    If you believe that my answer was correct, then please mark the answer as correct. This is for the best of all

  • How to show simple chinese in jsp

    when I use simple chinese in jsp,in the portlet all the char convert into B>B-C&#147;B*B;C.B6B/,but in the servlet,all the simple chinese char it right,I have set the conentType = "text/html;gb2312",but the problem is still.
    somebody can help me!
    thanks!

    You have to set the content type on your response firts.
    eg; response.setContentType("image/gif");

  • How to show an image in apex

    Hello everone!
    Do u know how to get an image (JPG, gif, bmp) which is saved in the BLOB in a table?
    I suppose that exists an apex function which allows to do that.
    Any help would be very appreciated.
    Thank u in advance.
    Regards

    There are two examples in my demo application:
    http://apex.oracle.com/pls/otn/f?p=31517:64
    http://apex.oracle.com/pls/otn/f?p=31517:212
    which will give you an idea how that can be done.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • How to show an image in an Enumeration description

    Recently I have tried to show an image instead of a text description, when I use a RadioButtonGroupByKey UI Element.
    What I need is to show some sort of a semaphore which can be set by a processing user. Is it possible to achieve this, or do I have to play around with the layout?
    Thanks in advance

    Wrong forum

Maybe you are looking for

  • Acrobat XI can't open a PDF file if space in name

    I have a .net WinForms Application that calls the Acrobat Reader using a System.Diagnostics.Process.Start. On Acrobat Reader 7 - 10, this works fine. On XI , I receive a message "Unable to Open a Document". Upon furthur research, it appears that I ca

  • Flex mobile project: web root and root path for a remote web service?

    Hi all, i'm trying to set up the testdrive tutorial for flex mobile project, with flash builder 4.5 and php data. I've uploaded the files on my remote web space (e.g. http://mywebsite.org, and the test file is http://mywebsite.org/TestDrive/test/test

  • Project Management in SAP Enhancements

    Hi , I have a table with 2 custom fields added to it ZZ* hence, I also had to append the datasources with these fields based on the table assosiated with it. 1) What should be the approach to populate these fields in the datasource with appended stru

  • Paid for one year, got trials.

    I've purchased a Creative Cloud Student and Teacher Edition (one-year) from the online reseller  - Digital River International S.a.r.l.. and it shows on Plans & Products section in my account. I passed all the process, but when downloading the cc pro

  • Cl.exe and mt.exe but got "...MSVCR80.dll was not found. Re-installing..."

    The compile and manifest were completed with no complaints but when I ran the code, I got "This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.". Here is what I did: Step 1: Compi