home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.oracle      Overblown overpriced overengineered SHIT      2,288 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 561 of 2,288   
   Vladimir Kanovnik to All   
   updating table with two images   
   22 Oct 03 09:56:45   
   
   From: vlad@melbpc.org.au   
      
   I have table with columns id(number), photo(blob) and thumbnail(blob). I   
   would like to insert image (using stored procedure) from file to column   
   photo and in same time copy reduced image to column thumbnail. My code is:   
   CREATE OR REPLACE  PROCEDURE "MDEMO"."PUT_PHOTO_THUMB"   
       (   
      
       image_file_directory in varchar2,   
       image_file_name in varchar2,   
       image_file_mime_type in varchar2,   
       image_http_path in varchar2,   
       image_http_name in varchar2,   
       ord_procedure_path in varchar2,   
       ord_content_type in varchar2,   
       ord_content_blob out blob   
       )   
   as   
       localImage          ordsys.ordimage;   
       localThumb          ordsys.ordimage;   
   begin   
       /*   
        * Create an empty object.   
        */   
       localImage := ordsys.ordimage( ordsys.ordsource( empty_blob(),   
                                                        null,   
                                                        null,   
                                                        null,   
                                                        null,   
                                                        null ),   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null );   
       localThumb := ordsys.ordimage( ordsys.ordsource( empty_blob(),   
                                                        null,   
                                                        null,   
                                                        null,   
                                                        null,   
                                                        null ),   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null,   
                                      null );   
      
       /*   
        * Process the request based on the location of the new image.   
        */   
       if length( image_file_directory ) > 0 then   
         /*   
          * Image is stored as a FILE in a database server directory.   
          * Set the local image object to reference the specified file.   
          */   
         localImage.clearLocal();   
         localImage.setSource( 'FILE',   
                               image_file_directory,   
                               image_file_name );   
         localImage.setMimeType( image_file_mime_type );   
       elsif length ( image_http_path ) > 0 then   
         /*   
          * Image is stored on a web server somewhere.   
          * Set the local image object to reference the URL.   
          */   
         localImage.clearLocal();   
         localImage.setSource( 'HTTP',   
                               image_http_path,   
                               image_http_name );   
      
       else   
         /*   
          * Image is being uploaded from the client to be stored in the   
   database.   
          * Set the flag to indicate the image is to be stored in the object's   
          * local-data BLOB.   
          */   
         localImage.setLocal();   
         localImage.setMimeType( ord_content_type );   
         localThumb.setMimeType( ord_content_type );   
       /* copy reduced image from localImage to localThumb*/   
         localImage.processCopy('maxScale=50,50',localThumb);   
       end if;   
      
       /*   
        * Update the image object in the table. If the image is to be stored in   
        * the object's local-data BLOB, then return the LOB handle so the web   
        * agent can store the image in the database.   
        */   
      
       if localImage.isLocal() then   
           update MPHOTOS i set i.IMAGE = localImage where ID =   
   ord_procedure_path   
              return i.IMAGE.source.localdata into ord_content_blob;   
      
           update MPHOTOS i set i.THUMB = localThumb where ID =   
   ord_procedure_path   
              return i.THUMB.source.localdata into ord_content_blob;   
       else   
           update MPHOTOS i set i.IMAGE = localImage where ID =   
   ord_procedure_path;   
           update MPHOTOS i set i.THUMB = localThumb where ID =   
   ord_procedure_path;   
       end if;   
      
   end;   
      
   /   
   SHOW ERRORS;   
      
   When I want to execute (using intermedia clipboard) I receive a message   
   "invalid LOB locator specified". What is wrong?   
      
   Thanx in advance   
      
      
   --   
   --   
     ,-._|\    Vladimir Kanovnik     Melbourne PC UsersGroup   
    /  Oz  \     Email: vlad@melbpc.org.au   
    \_,--.x/     Phone: +61 3 9791 1409   
          v      Fax: +61 3 9791 1946   
                 Mobile: +61 412 134012   
                   ~~ Australia ~~   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca