Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

uploading image from html input to data in apex

malikadeelSep 12 2019 — edited Sep 25 2019

I am trying to to Upload image file from html input to database using plsql dynamic Region. Using below Code

BEGIN

htp.p('<input id="inp_file" type="file">');

htp.p('<form method="post" action="">

  <input id="inp_img" name="img" type="hidden" value="">

  <input id="bt_save" type="submit" value="Upload">

</form>');

END;

Here is Javascript function to compress the image before upload

function fileChange(e) {

     document.getElementById('inp_img').value = '';

    

     var file = e.target.files[0];

     if (file.type == "image/jpeg" || file.type == "image/png") {

        var reader = new FileReader(); 

        reader.onload = function(readerEvent) {

  

           var image = new Image();

           image.onload = function(imageEvent) {   

              var max_size = 300;

              var w = image.width;

              var h = image.height;

            

              if (w > h) {  if (w > max_size) { h*=max_size/w; w=max_size; }

              } else     {  if (h > max_size) { w*=max_size/h; h=max_size; } }

            

              var canvas = document.createElement('canvas');

              canvas.width = w;

              canvas.height = h;

              canvas.getContext('2d').drawImage(image, 0, 0, w, h);

                

              if (file.type == "image/jpeg") {

                 var dataURL = canvas.toDataURL("image/jpeg", 1.0);

              } else {

                 var dataURL = canvas.toDataURL("image/png");  

              }

              document.getElementById('inp_img').value = dataURL;  

           }

           image.src = readerEvent.target.result;

        }

        reader.readAsDataURL(file);

     } else {

        document.getElementById('inp_file').value = '';

        alert('Please only select images in JPG- or PNG-format.'); 

     }

   

      document.getElementById("bt_save").onclick = function() {

  //  alert('a');

      $s('P3_NEW', document.getElementById('inp_img').value);

}

   

  }

  document.getElementById('inp_file').addEventListener('change', fileChange, false);

Here is the Process level code to Parse image into database

DECLARE

p_clob CLOB;

BEGIN

p_clob := base64encode(HTTPURITYPE.createuri(:P3_NEW).getblob());

INSERT INTO IMAGES (FILENAME, MIME_TYPE, CONTENT, last_update)  values ('test','mime',clob2blob(p_clob),sysdate)                  ;

END;                 

When i Press Upload button it give error

  • ORA-29273: HTTP request failed

WORKSPACE  APEX_PAOLO
User : RESIZEIMAGE
Pwd " Adeel12#
Please advise about this error who i can resolve this
Comments
Post Details
Added on Sep 12 2019
8 comments
1,182 views