Storing images in server

Hello Fnds,
I am working on a j2ee project , swing as front end. I need to sore and retrive the images of persons . I don't know how to upload and download the photos. Where should i store the image. Is it in the war file or some other location in the server. Plz help to find a way to this solution.
Thanks in advance

There are several ways to manage images. Minimally, they're typically simply managed as a byte array (byte[]) within Java. You can then convert that to images or whatever when you need it.
If you know that your server explodes your WAR on the server during deployment, you can simply store them in a directory beneath the root. You can use ServletContext.getRealPath("/") to find the base file system directory and go from there.
However, not all servers deploy by exploding the WAR file. Some run straight from the WAR, or have it as an option. Also, if you're working (or intend to work) in a clustered environment, then you can have issues as well. They're things to note, but in fact may not affect you at all.
The next option is to store the images in the DB. Most DBs support a BLOB or LONG RAW or BYTE datatype that's designed for this. Some of them have restrictions on how many of these columns can be in a table, and different DB's may handle BLOBs differently from others. But, nonetheless, all of the modern DBs have SOME way of handling this.
What I have done in the past is simply make a BLOB table with a simple unique id, and then reference it with a foreign key whereever I need a BLOB. The helps me isolate the BLOB code in my system, as I rarely need to cursor or join to BLOB data like I do for other tables. Then I can have a common byte[] getBlob(long id) routine.
While some containers will let you use CMP to manage BLOBs, some do not. But it's usually simple to just use JDBC directly and not use an Entity Bean at all.
You'll need to look at your DB's JDBC examples and such on how to manage blobs yourself, but it's a common feature and should be reasonably straightforward.
There is a MySQL example at the bottom of this page that I found after some quick searching that may help you. http://dev.mysql.com/doc/refman/5.0/en/blob.html

Similar Messages

  • Report - Unable to display image stored on External server

    Hi
    I need to display image on report that is on different instance for that i had put a formula column (in report 10g) and for that coloum i made file format as image and read from file as Yes and giving it the URL of Image stored on different server . but at run time for PDF output i am getting error like REP-1295: Data format of column 'CF_1' is unsupported
    Please help me , Thx in advance.
    Ranga

    From the documentation:
    URL Reference
    1.Insert a dummy image in your template.
    2.In Microsoft Word's Format Picture dialog box select the Web tab. Enter the following syntax in the Alternative text region to reference the image URL:
    url:{'http://image location'}
    For example, enter: url:{'http://www.oracle.com/images/ora_log.gif'}
    Element Reference from XML File
    1.Insert a dummy image in your template.
    2.In Microsoft Word's Format Picture dialog box select the Web tab. Enter the following syntax in the Alternative text region to reference the image URL:
    url:{IMAGE_LOCATION}
    where IMAGE_LOCATION is an element from your XML file that holds the full URL to the image.
    You can also build a URL based on multiple elements at runtime. Just use the concat function to build the URL string. For example:
    url:{concat(SERVER,'/',IMAGE_DIR,'/',IMAGE_FILE)}
    where SERVER, IMAGE_DIR, and IMAGE_FILE are element names from your XML file that hold the values to construct the URL.
    This method can also be used with the OA_MEDIA reference as follows:
    url:{concat('${OA_MEDIA}','/',IMAGE_FILE)}
    Edited by: stevencallan on Feb 13, 2009 3:50 PM

  • Report - Not able to display image stored on External server or internet

    Hi
    I need to display image on report that is on different instance for that i had put a formula column (in report 10g) and for that coloum i made file format as image and read from file as Yes and giving it the URL of Image stored on different server . but at run time for PDF output i am getting error like REP-1295: Data format of column 'CF_1' is unsupported
    Please help me , Thx in advance.
    Ranga

    Hi,
    I've got the same problem.
    Did you find any solution?
    Thank you
    Davide

  • Displaying server stored images in an air application

    Usually when I go about displaying server stored images in a regular flex application I go about it the following way:-
    - Create a mysql database table on a server which contains image names
    - Create a php file which generates all of the image namesfrom the table as xml and upload this file to the server
    - Create a new flex application/project
    - In the application make a http service which points to my php/xml file and turns this data into an array collection
    - Set the array collection to the dataprovider of a tilelist component so that all of the images will eventually be displayed within it when they are created
    - I set the itemrenderer of the tilelist to an image component which has it's source set to something like source="{'assets/images'+ data.imagename}" with imagename being the field containing the name of the image which is stored in the mysql database table.
    - Make a folder in the app/project called assets/images which will contain all of the images
    - Upload the app to the server and once it runs all the images will be displayed in the application
    - Then any images that are uploaded to the server can also be displayed as long as their names are added to the mysql database
    My question is though how do you get server stored images to display within an Air Application? My air app will be used on multiple machines but I want the images in it to be dynamic i.e. stored on a server and can be changed. How can this be done?

    I'm struggling to figure out how to access the image files when the assets/images folder will be on a server and the app itself will be on the user's desktop whereas usually in the case of a regular flex app this wouldn't mater as both the app and the image files would be on the server together. Is what I'm trying to do possible i.e. displaying images on a desktop air app straight from a server?

  • Displaying Images Stored on a Server In Flex

    My original idea for my app was to have live thumbnails of websites by screenshotting a html component in the app and saving these screenshots as jpgs which are applied as the source of the thumbnails. I now realise this is a bit too unstable as if the site doesn't load the images won't display. What I want to do instead is use the same idea but instead of the application writing to the application directory writing to a server where the images are stored so that it will overwrite these images.
    What I need to know is how to display server stored images in flex in either an image component or an array collection so they can be applied to a tilelist. The problem is I have zero experience at using server side data with flex. Can anyone point me in the direction to some examples/tutorials on how to display server stored data or more specifically images within a flex application or give me advice on this? Cheers.

    quick and easy way to do it would be with PHP.
    Make a script, scan a server folder and return the results in an XML format that can simply be fed into a datagrid/tilelist/whatever. To give you a few hints of what to look into.
    You'll need an initial HTTPService request fired off to the php script. The PHP script will then need to parse through the folder finding all the images, i'd recommend the glob() function in PHP to do this. eg:
    print "<images>";
    foreach (glob("directory/*.jpg") as $filename) {
        print "<screen><name>".$filename."</name><location>directory/".$filename."</location></screen>"
    print "</images>";
    then you'll need to handle the result event, simply feed each item into its respective place and ta daa.
    there are loads of examples around with this same methodology principle like this one:
    http://www.vipercreations.com/tutorials.php?t=28&page=1&c=Adobe%20Flex
    and i'm sure if you search around for 'flex php gallery' on google you'll probably even find a totally relevant example.

  • Problems displaying images stored in SQL Server as Datatype "image"

    I am trying to display an Image stored in SQL Server as
    datatype
    'image' and it only shows a portion of the image.
    It seems to be tied to the size (kb) of the image since the
    larger the
    image the less of it is shown before it cuts off(sometimes it
    cuts off
    mid line so it's about the file size and not fitting the
    image on the
    screen).
    Here is the code I am using that deals with the image.
    [Bindable]
    public var theImage:ByteArray = new ByteArray;
    private function getScans_result(event:ResultEvent):void{
    var imageByteArray:ByteArray = event.result[0].Image;
    theImage = imageByteArray
    <mx:Image id="theIMG" width="160" height="220"
    source="{theImage}"/>
    Any Thoughts??

    I do that sort of thing using PHP and mySQL the binary part
    of the image is stored in a BLOB field (Binary Large OBject) along
    the rest of the information necessary for the http headers (e.g.
    mime type, file name, file size) being staored in their own fields.
    That info is then used to build the file using PHP. The PHP
    file contains a mySQL query whos result is echoed with the
    appropriate headers. The URL points at the PHP file rather than at
    any saved image.
    Here's the php:
    <?
    # display_imagebank_file.php
    # Note: the ID is passed through the url e.g.
    # this_files_name.php?id=1
    # connect to mysql database
    mysql_connect('HOST', 'USERNAME', 'PASSWORD');
    mysql_select_db('DATABASE');
    # run a query to get the file information
    $query = mysql_query("SELECT FileName, MimeType, FileSize,
    FileContents FROM blobTable WHERE ID='$id'");
    # perform an error check
    if(mysql_num_rows($query)==1){
    $fileName = mysql_result($query,0,0);
    $fileType = mysql_result($query,0,1);
    $fileSize = mysql_result($query,0,2);
    $fileContents = mysql_result($query,0,3);
    header("Content-type: $fileType");
    header("Content-length: $fileSize");
    header("Content-Disposition: inline; filename=$fileName");
    header("Content-Description: from imagebank");
    header("Connection: close");
    echo $fileContents;
    }else{
    $numRows = mysql_num_rows($query);
    echo "File not found <br>";
    echo $numRows;
    echo " is the number of rows returned for id = ";
    echo $ID;
    ?>
    Hope that helps
    Phil

  • Displaying images stored in SQL Server

    Is there someway of displaying images stored within SQL
    Server. Is FDS required? Prefer a method to display images without
    using FDS; Web Service would be okay if that can work

    I do that sort of thing using PHP and mySQL the binary part
    of the image is stored in a BLOB field (Binary Large OBject) along
    the rest of the information necessary for the http headers (e.g.
    mime type, file name, file size) being staored in their own fields.
    That info is then used to build the file using PHP. The PHP
    file contains a mySQL query whos result is echoed with the
    appropriate headers. The URL points at the PHP file rather than at
    any saved image.
    Here's the php:
    <?
    # display_imagebank_file.php
    # Note: the ID is passed through the url e.g.
    # this_files_name.php?id=1
    # connect to mysql database
    mysql_connect('HOST', 'USERNAME', 'PASSWORD');
    mysql_select_db('DATABASE');
    # run a query to get the file information
    $query = mysql_query("SELECT FileName, MimeType, FileSize,
    FileContents FROM blobTable WHERE ID='$id'");
    # perform an error check
    if(mysql_num_rows($query)==1){
    $fileName = mysql_result($query,0,0);
    $fileType = mysql_result($query,0,1);
    $fileSize = mysql_result($query,0,2);
    $fileContents = mysql_result($query,0,3);
    header("Content-type: $fileType");
    header("Content-length: $fileSize");
    header("Content-Disposition: inline; filename=$fileName");
    header("Content-Description: from imagebank");
    header("Connection: close");
    echo $fileContents;
    }else{
    $numRows = mysql_num_rows($query);
    echo "File not found <br>";
    echo $numRows;
    echo " is the number of rows returned for id = ";
    echo $ID;
    ?>
    Hope that helps
    Phil

  • Advice needed - Storing images

    Hello all,
    I'm developing e-commerce application, and I have dilema where to store product photographs.
    When I started learning struts and servlets/jsp, I stored photographs as BLOB in MySQL database, and hadnt any problems to do it this way.
    For administrator purposes, I created admin interface. Administrator was able to insert new products into database, and in that case inserting product photos was implemented using form file, uploading photos directly from his local computer as BLOB object.
    On the other hand, this system will probably damage the performance of web appliacation, so the idea I like more at the moment is using hypelinks.
    My problem with hypelinks is - where to store photos? Photographs probably have to be stored somewhere on server, but in that case I would have to give some privilegies to administrator of web site and to allow him to access the server, and I dont want to do that.
    Am I missing something here?
    Thanks in advance,
    Djordje

    Thanks for your response.
    I don't think it has anything to do with '/' or '\' though.
    My directories structure is following:
    Web Pages
    - META-INF
    - WEB-INF
    - images - this is the destination I would like to store my images
    - etc, etc
    In my NetBeans project I have following folders:
    'build', 'conf', 'dist', 'nbproject', 'src', 'test' and 'web',
    and after execution of my upload action, images are stored in 'build' folders, which has following structure:
    -build
    --web
    ---META-INF
    ---WEB-INF
    ---images
    ---etc, etc
    Obviously I would like to store them in my 'web' folder, but just cant get there.
    I hope this clears the picture about my problem bit more.

  • Folder for stored images (Portalheader)

    Hello experts,
    could anyone let me know where I can find all the uploaded images for the Portalheader(Masthead). Where can I find the folder who is ressponsible for the administration of the images/background images??
    Thank you
    Regards
    Marco

    Hi Marco,
    You can find those uploaded image files in KM. KM is like your file server but is within the Portal that you can use to manage your files/content/data. Files, content or data exist in KM can be index and search via the Portal TREX (Search Engine).
    SAP NetWeaver Training Overview - SAP Knowledge Management (KM)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/06fac090-0201-0010-af9c-b67d14558014
    1) Storing images in Portal
    Storing images in Portal
    2) Simple static web pages and images? Store/refernence in KM?
    /thread/378997 [original link is broken]
    3) Upload Image to KM Repository
    /thread/26834 [original link is broken]
    4) showing image located in km folder
    showing image located in km folder
    Hope that helps.
    Ray

  • Error on update of document stored in content server

    Error on update of document stored in content server
    On a regular basis (but not reproducible) we find that after updating a document, it is deleted from content server (or at least it cannot be retrieved).  These problems have only been experienced since we switched to using content server as our storage repository, as opposed to R/3.
    We create and maintain documents through a bespoke transaction, which calls standard SAP functions BDS_BUSINESSDOCUMENT_CREA_TAB and cl_bds_document_set=>update_with_table.
    Whilst the errored documents are listed in the BDS via transaction OAOR (business document navigator), an error is received when you try to display it (in our case an MS-Word error indicating file/pathname invalid). 
    We are satisfied that file/pathname are valid and find that this occurs occasionally when a document has been updated.  It appears that the document has been deleted. 
    This bespoke transaction has been running successfully for almost two years, and these problems have only been experienced after switching to content server as a storage repository (as opposed to R3 previously).  Has anyone else experienced these problems? 
    We are running :
    R/3 Enterprise 620,
    SAP HTTP Content Server Version 6.30 Patch 13
    SAPDB version 7.3.0.54

    Hi Sonny,
    To check the connectivity between your content server and Workstation and SAP Server.
    Pls goto the command prompt of your workstation
    give the command like this example.
    C:\>Ping 117.123.45.201
    you will get the reply from the server. here 117.123.45.201 is your content server IP.
    If you are getting the reply then it means that your contentserver and workstation are connected propely.
    Like that pls check the connectivity between your systems.
    Pls check the hosts file of your systems also.
    If the hosts file entry is not maintained, you can check-out file from content server but you cannot check-in the original.
    Pls let me know what kind of error Message you are getting?
    From where you are trying to check-in the Original? From the DIR screen or from CAD Desktop screen?
    Regards,
    MRK
    (reward points if useful)

  • Create a Document with an original file stored on application server

    Hello,
    I start with document managment system : i am able to create new document (CV01N) manually, add a local file and check-in this file.
    Now we need to store file which are stored on the SAP Application Server.
    Firstly, in the GUI of transaction CV01N, i don't know how to browse file on application server. All files i can't attach as original, are files i can access from my computer.
    Is it possible to access also on application server files ?
    Moreover, i have to define function module which have to
    - Create a document (DMS)
    - Attach an orginial file which is stored on application server
    - Check-in the file
    This function module will be called from a web application
    I define this kind of function and run it correctly with a local file (stored on my computer) : i call BAPI "BAPI_DOCUMENT_CREATE2" and "BAPI_DOCUMENT_CHECKIN2"
    But i don't how to do with a file stored on application server. I see also note 504692 and try a program like ZZUZTEST_TEST_CHECKIN which use FM CVAPI_DOC_CHECKIN but it return an error Error uploading  E:\usr\sap\TD1\DVEBMGS00\data\FACTURE.txt" (this path and file exist on application server and is really the file i want to checkin)
    Please could you confirm what i search, is possible or not.
    If possible, could help me with some explanations and guidelines and perhaps a sample ?
    Thank you very much.
    Regards,
    Eric
    The function used
    FUNCTION Z_TEST_CHECKIN.
    Checkin the first original of a document info record *
    from the application server and/or in the background *
      data   : w_host like BAPI_DOC_AUX-HOSTNAME.
      data: lf_line(255).
      data: ls_draw like DRAW,
            ls_message_cvapi like messages,
            lt_files_cvapi type standard table of CVAPI_DOC_FILE,
            lt_files_cvapi_header like CVAPI_DOC_FILE.
      data: lt_originals LIKE cvapi_doc_file OCCURS 0 WITH HEADER LINE,
            vo_originals LIKE cvapi_doc_file OCCURS 0 WITH HEADER LINE.
      ls_draw-dokar = 'ZFT'.
      ls_Draw-doknr = '0000000000000004500000032'.
      ls_Draw-dokvr = '00'.
      ls_Draw-doktl = '000'.
    Read Originals contained in the document info record
      CALL FUNCTION 'CVAPI_DOC_GETDETAIL'
        EXPORTING
          pf_batchmode    = 'X'
          pf_hostname     = ' '
          pf_dokar        = ls_draw-dokar
          pf_doknr        = ls_draw-doknr
          pf_dokvr        = ls_draw-dokvr
          pf_doktl        = ls_draw-doktl
          pf_active_files = 'X'
        IMPORTING
          psx_draw        = ls_draw
        TABLES
          pt_files        = vo_originals
        EXCEPTIONS
          not_found       = 1
          no_auth         = 2
          error           = 3
          OTHERS          = 4.
      IF sy-subrc <> 0.
        WRITE 'Error returned by CVAPI_DOC_GETDETAIL'.          "#EC NOTEXT
        EXIT.
      ENDIF.
    Check if we can really access the file from the application server
      read table vo_originals index 1.
      open dataset vo_originals-filename for input in text mode ENCODING DEFAULT.
      if not sy-subrc is initial.
        message e500(26) with vo_originals-filename 'not found'.
      endif.
      read dataset vo_originals-filename into lf_line.
      if not sy-subrc is initial.
        message e500(26) with vo_originals-filename 'read error'.
      endif.
      lt_originals             = vo_originals.
      lt_originals-STORAGE_CAT = 'SAP-SYSTEM'.
      append lt_originals.
      w_host = sy-host.
      CALL FUNCTION 'CVAPI_DOC_CHECKIN'
      EXPORTING
      PF_DOKAR = ls_draw-dokar
      PF_DOKNR = ls_draw-doknr
      PF_DOKVR = ls_draw-dokvr
      PF_DOKTL = ls_draw-doktl
    PS_DOC_STATUS =
      PF_FTP_DEST = 'SAPFTPA'
      PF_HTTP_DEST = 'SAPHTTPA'
    *PF_HOSTNAME =  w_host
    PS_API_CONTROL =
    PF_REPLACE = ' '
    PF_CONTENT_PROVIDE = 'SRV'
      IMPORTING
      PSX_MESSAGE = ls_message_cvapi
      TABLES
      PT_FILES_X = lt_originals
    PT_COMP_X =
    PT_CONTENT =
      IF ls_message_cvapi-msg_type CA 'EA'.
        ROLLBACK WORK.
        MESSAGE ID '26' TYPE 'I' NUMBER '000'
        WITH ls_message_cvapi-msg_txt.
      ELSE.
        COMMIT WORK and wait.
      ENDIF.
    ENDFUNCTION.

    This is a bit tricky. I spent lots of hours about this .
    You have to set PF_HOSTNAME with your name of your AS and gives the path to the file on the server.
    You wrote
    *PF_HOSTNAME = w_host
    But beware: if you have more thän one AS you have to fix one AS for upload or you have to find the servers name of the file. A better way can be to share one folder by each AS.
    You also have to decide between HTTP or FTP.
    You wrote:
      PF_FTP_DEST = 'SAPFTPA'
      PF_HTTP_DEST = 'SAPHTTPA'
    You must define only one ! Then you have to check your settings in SM59 about working right.
    Pls rate, if this was helpful.
    Regards,
    Markus

  • How to see the image from server

    hi,
    I have uploaded an image to server using following code. I want to see the image from server now. When i open this page then it show image. But when i want to see this image from server then it shows blank. Whats the problem of my code? Give me solution.
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <%@ page import="org.apache.commons.fileupload.*" %>
    <%@ page import ="org.apache.commons.fileupload.servlet.*" %>
    <%@ page import ="java.util.*" %>
    <%@ page import ="java.io.*" %>
    </head>
    <title>User Registration page</title>
    <body>
    <%
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
    ServletFileUpload upload =new ServletFileUpload(factory);
    List items = upload.parseRequest(request);
    Iterator iter = items.iterator();
         while (iter.hasNext()) {
         FileItem item = (FileItem) iter.next();
         if (!item.isFormField()) {
         String path=application.getRealPath("/");
         File tempfile=new File(item.getName());
         File uploadfile=new File(path,tempfile.getName());
         item.write(uploadfile);
         %>
         <br>
    <img src="<%=uploadfile%>" height="100" width="100">
    <br>
    <%=uploadfile%>
    <%
    item.delete();
    %>
    </body>
    </html>Is there anybody can help me.
    With regards
    Bina

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <%@ page import="org.apache.commons.fileupload.*" %>
    <%@ page import ="org.apache.commons.fileupload.servlet.*" %>
    <%@ page import ="java.util.*" %>
    <%@ page import ="java.io.*" %>
    </head>
    <title>User Registration page</title>
    <body>
    <%
    String filename = "";
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    FileItemFactory factory=new org.apache.commons.fileupload.disk.DiskFileItemFactory();
    ServletFileUpload upload =new ServletFileUpload(factory);
    List items = upload.parseRequest(request);
    Iterator iter = items.iterator();
         while (iter.hasNext()) {
         FileItem item = (FileItem) iter.next();
         if (!item.isFormField()) {
         String path=application.getRealPath("/");
         filename = item.getName();
                         File tempfile=new File(filename);
         File uploadfile=new File(path,tempfile.getName());
         item.write(uploadfile);
         %>
         <br>
    <img src="<%=path+filename%>" height="100" width="100">
    <br>
    <%=uploadfile%>
    <%
    item.delete();
    %>
    </body>
    </html>

  • Hyperlink to a file stored on a server

    Hi guys,
    I've created dynamic pdf in LCD. It allows creating hyperlinks, but unfortunately only to web locations. I'd like to create a link that connects to a file stored on a server based on the DFS file system.
    Is it possible to do something like that? It has to work with Adobe Reader.
    Thanks for your help.
    Marian

    I believe the access to the file system is blocked for security reasons.
    Paul

  • Report output to be stored in app server

    Dear All,
    I would like to store the reports output in the app server folder. How do i achieve?
    I am using reports10g, app server 10g. I am using web.show_document to call the reports. I would like to the achieve the same using this web.show_document built in.
    Thanks
    Balaji

    balaji,
    Using web.show_doc u can only display the reports. If you want it to be stored in the server, you can use run_report_object.
    Rajesh Alex

  • Files are stored in application server,

    Files are stored in application server, I am using Open dataset to write to a file in unix box.would like to convert my itab into tab delimted and download. Please let know
    is there any function?

    You should do a search to get the right ascii value (you can get an
    ascii chart, you can google a bit, you can visit the group's page and
    search for tab delimited... ) and replace 09 by the right value. And
    that's it.. The technique (which is what it matters) is right.
    Another tip:: you could download in two steps: first you use
    gui_download or ws_download to create a tab delimited file in your pc or
    in a network. Then you upload this file (using gui_upload or ws_upload
    into an internal table and the final step is to use open dataset -
    transfer - close dataset to write down this last itab to your app
    server.

Maybe you are looking for