Skip to main content

simplest java code to upload files in LIFERAY portal

1 in the jsp  make a form to handle the upload

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page import="java.util.List"%>
<%@ page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<form action="<portlet:actionURL/>" method="post" name="form1" ID="form1" enctype="multipart/form-data">
<input type="file" name ="file"/>
<input type="submit" value="submit" />
</form>


2- in the process action  method in the portlet class

@Override
public void processAction(ActionRequest req, ActionResponse res)
throws PortletException, IOException {
//getting the file
UploadPortletRequest ureq=PortalUtil.getUploadPortletRequest(req);
      File file=(File) ureq.getFile("file");
      copy(file,new File("c:/im/"+file.getName()));
      System.out.println("file name is ===>  "+file.getName());
      
  // the following line to get the normal paramters from the multipart encoded form
String name = ParamUtil.getString(ureq, "name");
      
}


3- helper method for copying file to another

private  void copy(File src, File dst) throws IOException {
   InputStream in = new FileInputStream(src);
   OutputStream out = new FileOutputStream(dst);

   // Transfer bytes from in to out
   byte[] buf = new byte[1024];
   int len;
   while ((len = in.read(buf)) > 0) {
       out.write(buf, 0, len);
   }
   in.close();
   out.close();
}


Comments