OAF Page to Upload Files into Server from local Machine

1. Create a New Workspace and Project

File > New > General > Workspace Configured for Oracle Applications

File Name – PrajkumarFileUploadDemo

 

Automatically a new OA Project will also be created

 

Project Name -- FileUploadDemo

Default Package -- prajkumar.oracle.apps.fnd.fileuploaddemo

 

2. Create a New Application Module (AM)

Right Click on FileUploadDemo > New > ADF Business Components > Application Module

Name -- FileUploadAM

Package -- prajkumar.oracle.apps.fnd.fileuploaddemo.server

Check Application Module Class: FileUploadAMImpl Generate JavaFile(s)

 

3. Create a New Page

Right click on FileUploadDemo > New > Web Tier > OA Components > Page

Name -- FileUploadPG

Package -- prajkumar.oracle.apps.fnd.fileuploaddemo.webui

 

4. Select the FileUploadPG and go to the strcuture pane where a default region has been created

 

5. Select region1 and set the following properties --

   

Attribute

Property

ID

PageLayoutRN

AM Definition

prajkumar.oracle.apps.fnd.fileuploaddemo.server.FileUploadAM

Window Title

Uploading File into Server from Local Machine Demo Window

Title

Uploading File into Server from Local Machine Demo

   

6. Create messageComponentLayout Region Under Page Layout Region

Right click PageLayoutRN > New > Region

 

Attribute

Property

ID

MainRN

Item Style

messageComponentLayout

 

7. Create a New Item messageFileUpload Bean under MainRN

Right click on MainRN > New > messageFileUpload

Set Following Properties for New Item --

 

Attribute

Property

ID

MessageFileUpload

Item Style

messageFileUpload

 

8. Create a New Item Submit Button Bean under MainRN

Right click on MainRN > New > messageLayout

Set Following Properties for messageLayout --

 

Attribute

Property

ID

ButtonLayout

 

Right Click on ButtonLayout > New > Item

 

Attribute

Property

ID

Submit

Item Style

submitButton

Attribute Set

/oracle/apps/fnd/attributesets/Buttons/Go

 

9. Create Controller for page FileUploadPG

Right Click on PageLayoutRN > Set New Controller

Package Name: prajkumar.oracle.apps.fnd.fileuploaddemo.webui

Class Name: FileUploadCO

 

Write Following Code in FileUploadCO processFormRequest

import oracle.cabo.ui.data.DataObject;
import java.io.FileOutputStream;
import java.io.InputStream;
import oracle.jbo.domain.BlobDomain;
import java.io.File;
import oracle.apps.fnd.framework.OAException;

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

 if(pageContext.getParameter("Submit")!=null)
 {
  upLoadFile(pageContext,webBean);    
 }
}

 

CODE #1 -- If Page has not deployed at instance, testing at Local Machine, use following Code

public void upLoadFile(OAPageContext pageContext,OAWebBean webBean)
{ String filePath = "D:\\PRajkumar";
 System.out.println("Default File Path---->"+filePath);

 String fileUrl = null;
 try
 {
  DataObject fileUploadData =  pageContext.getNamedDataObject("MessageFileUpload");

//FileUploading is my MessageFileUpload Bean Id
  if(fileUploadData!=null)
  {
   String uFileName = (String)fileUploadData.selectValue(null, "UPLOAD_FILE_NAME"); 

   String contentType = (String) fileUploadData.selectValue(null, "UPLOAD_FILE_MIME_TYPE");  
   System.out.println("User File Name---->"+uFileName);

   FileOutputStream output = null;
   InputStream input = null;

   BlobDomain uploadedByteStream = (BlobDomain)fileUploadData.selectValue(null, uFileName);
   System.out.println("uploadedByteStream---->"+uploadedByteStream);
                          
   File file = new File("D:\\PRajkumar", uFileName);  
   System.out.println("File output---->"+file);

   output = new FileOutputStream(file);

   System.out.println("output----->"+output);
   input = uploadedByteStream.getInputStream();

   System.out.println("input---->"+input);
   byte abyte0[] = new byte[0x19000];
   int i;
    
   while((i = input.read(abyte0)) > 0)
   output.write(abyte0, 0, i);

   output.close();
   input.close();
  }
 }
 catch(Exception ex)
 {
  throw new OAException(ex.getMessage(), OAException.ERROR);
 }    
}

 

CODE #2 -- If Page has been Deployed at Instance, Use Following Code 

public void upLoadFile(OAPageContext pageContext,OAWebBean webBean)
{ String filePath = "/u01/app/apnac03r12/PRajkumar/";
 System.out.println("Default File Path---->"+filePath);

 String fileUrl = null;
 try
 {
  DataObject fileUploadData =  pageContext.getNamedDataObject("MessageFileUpload");

//FileUploading is my MessageFileUpload Bean Id
  if(fileUploadData!=null)
  {
   String uFileName = (String)fileUploadData.selectValue(null, "UPLOAD_FILE_NAME");  
   String contentType = (String) fileUploadData.selectValue(null, "UPLOAD_FILE_MIME_TYPE");  
   System.out.println("User File Name---->"+uFileName);

   FileOutputStream output = null;
   InputStream input = null;

   BlobDomain uploadedByteStream = (BlobDomain)fileUploadData.selectValue(null, uFileName);
   System.out.println("uploadedByteStream---->"+uploadedByteStream);
                          
   File file = new File("/u01/app/apnac03r12/PRajkumar", uFileName);  
   System.out.println("File output---->"+file);

   output = new FileOutputStream(file);

   System.out.println("output----->"+output);
   input = uploadedByteStream.getInputStream();

   System.out.println("input---->"+input);
   byte abyte0[] = new byte[0x19000];
   int i;
    
   while((i = input.read(abyte0)) > 0)
   output.write(abyte0, 0, i);

   output.close();
   input.close();
  }
 }
 catch(Exception ex)
 {
  throw new OAException(ex.getMessage(), OAException.ERROR);
 }    
}

 

10. Congratulation you have successfully finished. Run Your page and Test Your Work

 

 

 

 

 Page has deployed and Used CODE #2

 

Before Upload the File

 

 

After Upload the File

   

 

 Page has not been deployed and Used CODE #1

 

Before Upload the File

 

 

After Upload the File

 


Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Welcome to My Oracle World Puneet Rajkumar

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today