在liferay portal 上开发文件下载功能 Print E-mail
User Rating: / 2
PoorBest 
Portal门户 - Liferay相关
Friday, 20 June 2008 05:57
原来已经做好的一个portlet,使用的是jsp实现的,后来需要增加文件下载的功能,以下是我的解决办法:

   1. 开发一个portlet继承com.liferay.portlet.JSPPortlet;
   2. 覆盖processAction方法,如下:

       public class DownloadFile extends JSPPortlet {
             public void processAction(ActionRequest req,ActionResponse res){
                    File file = new File("your file ");
                    InputStream is = new FileInputStream(file);
                    com.liferay.util.servlet.ServletResponseUtil.sendFile(((ActionResponseImpl)res).getHttpServletResponse(), file.getName(), is);
             }
       }
    3. 修改portlet-ext.xml文件如下:
 
      <portlet>
  <portlet-name>100</portlet-name>
  <display-name>download</display-name>
  <portlet-class>cn.javaedu.portlet.DownloadFile</portlet-class>
  <init-param>
   <name>view-jsp</name>
   <value>/portlet/ext/test/view.jsp</value>
  </init-param>
  <expiration-cache>300</expiration-cache>
  <supports>
   <mime-type>text/html</mime-type>
  </supports>
  <resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
  <security-role-ref>
   <role-name>power-user</role-name>
  </security-role-ref>
  <security-role-ref>
   <role-name>user</role-name>
  </security-role-ref>
 </portlet>
 4. 在需要下载的页面上的链接如下写:
<a href='<portlet:actionURL windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>">               </portlet:actionURL>' >download</a>
当用户点击download的下载链接时,系统就会提示用户保存文件
 
Banner

本站文章均来自网络为方便大家阅读之用,如有侵权,请联系我们,我们收到后立即删除,谢谢!另文章言论不代表本站观点。

 
上海定制公寓:瑞虹新城3期
瑞安房地产推出上海内环住宅瑞虹新城3期,该楼盘首推“定制公寓”概念,大胆借鉴国际前沿的设计理念,在上海北外滩打造精致优雅的国际现代化上海虹口高品质住宅小区。

娱乐竞拍:噢耶竞拍网
噢耶竞拍网提供低价竞拍、抢拍、竞猜,为您提供低价购物、娱乐购物以及娱乐竞猜,噢耶团队为您提供竭诚服务,开心又刺激的娱乐购物新体验就在噢耶竞拍网

zhishi123.com.cn广告