Hello Guy's
Below code will help you to download file from server using liferay 6.2. 
 Here I am writing a portlet to download file.
For better understanding create portlet in your eclipse and follow below steps : 
Step: 1
Edit view.jsp and put below code 
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<%@ taglib prefix="liferay-portlet" uri="http://liferay.com/tld/portlet" %>
 <portlet:defineObjects />
 <a href="<portlet:resourceURL/>">Download</a>
When you click on "Download" link, It's call to serveResource(ResourceRequest request, ResourceResponse response) which is defined in below class.    
Step: 2
Create DownloadFile.java and put below code:
package com.bhagwan;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.liferay.portal.kernel.servlet.ServletResponseUtil;
import com.liferay.portal.util.PortalUtil;
import javax.portlet.PortletException;
import com.liferay.util.bridges.mvc.MVCPortlet;
public class DownloadFile extends MVCPortlet
{
@Override
    public void serveResource(ResourceRequest request, ResourceResponse response)
            throws IOException, PortletException {
        try {
            File file = new File("/casefile.xlsx");
            InputStream in = new FileInputStream(file);
            HttpServletResponse httpRes = PortalUtil.getHttpServletResponse(response);
            HttpServletRequest httpReq = PortalUtil.getHttpServletRequest(request);
            ServletResponseUtil.sendFile(httpReq,httpRes, file.getName(), in, "application/download");
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }       
    }
}
You have any quires, Please comment on blog.  
Thank you    
                       
                    
0 Comment(s)