Sunday 9 March 2014

Upload file to Unix server in OAF Page


Create a page with Item Style: MessageFileUpload

Controller Code:

package xxx.oracle.apps.ap.upload.webui;
import oracle.cabo.ui.data.DataObject;
import java.io.FileOutputStream;
import java.io.InputStream;
import oracle.jbo.domain.BlobDomain;
import java.io.File;
import java.io.Serializable;
import oracle.apps.fnd.framework.webui.OAControllerImpl;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.cabo.ui.data.DataObject;
import oracle.jbo.domain.BlobDomain;

public class uploadCO extends OAControllerImpl
{
  public void processRequest(OAPageContext pageContext, OAWebBean webBean)
  {
    super.processRequest(pageContext, webBean);
  }

  public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
  {
    super.processFormRequest(pageContext, webBean);

      super.processFormRequest(pageContext, webBean);
      OAApplicationModule am = pageContext.getApplicationModule(webBean);
       if(pageContext.getParameter("Upload")!=null)
          {
            fileupload(pageContext,"item1","/var/tmp");
          }

  }


    public void fileupload(OAPageContext pageContext, String fileuploadBeanId,String server_dir_path)
    {
    pageContext.writeDiagnostics(this,"start of fileupload *************",6);
    System.out.println("start of fileupload *************");
    DataObject fileUploadData = (DataObject) pageContext.getNamedDataObject(fileuploadBeanId);
    if(fileUploadData!=null)
    {
    pageContext.writeDiagnostics(this,"start of fileupload *************",6);
    String uFileName =(String) fileUploadData.selectValue(null, "UPLOAD_FILE_NAME");
    String contentType = (String) fileUploadData.selectValue(null, "UPLOAD_FILE_MIME_TYPE");

    File file = new File(server_dir_path, uFileName);
    FileOutputStream output = null;
    InputStream input = null;

    try
    {
    output = new FileOutputStream(file);
    BlobDomain uploadedByteStream =
    (BlobDomain) fileUploadData.selectValue(null, uFileName);
    input = uploadedByteStream.getInputStream();
    for (int bytes = 0; bytes < uploadedByteStream.getLength(); bytes++)
    {
    output.write(input.read());
    }
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    finally
    {
    try
    {
    if (input != null)
    {
    input.close();
    }
    if (output != null)
    {
    output.close();
    output.flush();
    }
    }
    catch (Exception ez)
    {
    ez.printStackTrace();
    }
    }

    }
    }


}




No comments:

Post a Comment