liferay中的图片处理

一、图片显示

启动liferay或浏览liferay官方网站,查看任一图片的链接可看到如下形式的url:
http://www.liferay.com/image/journal/article?img_id=FRONT-PAGE-NEWS-FEATURES.image1&version=1.0
看到这样的url, 大概都会猜想图片数据是否存在数据库中,事实确是如此。

在web.xml中可以找到image的servlet映射
 <servlet></servlet>
 〈servlet〉
    〈servlet-name〉ImageServlet〈/servlet-name〉
    〈display-name〉ImageServlet〈/display-name〉
    〈servlet-class〉com.liferay.portal.servlet.ImageServlet〈/servlet-class〉
    〈load-on-startup〉5〈/load-on-startup〉
 〈/servlet〉
 〈servlet-mapping〉
    〈servlet-name〉ImageServlet〈/servlet-name〉
    〈url-pattern〉/image/*〈/url-pattern〉
 〈/servlet-mapping〉 

ImageServlet中的代码很简单,它通过img_id从数据表中读取图片数据,然后输出到OutputStream上,
liferay中定义了一个ImageService组件,它用来处理image的读取,更新及删除操作。

二、图片上传

通过liferay的工具类,可以很容易的实现图片的上传处理,

  UploadPortletRequest uploadReq = PortalUtil.getUploadPortletRequest(req);
  File file = uploadReq.getFile(name);  // 上传表单控件的名称;

  byte[] bytes = FileUtil.getBytes(file);
 
  if ((bytes != null) && (bytes.length > 0)) {
        String imageId = "yourimageid";  // 要小心名称重复的问题;
 ImageLocalServiceUtil.updateImage(imageId, bytes);
  }

 保存后就能通过 /image/myModule?img_id=yourimageid 来显示图片了;

相关链接:
使用liferay中的struts+tiles来开发portlet(一)
Liferay中外部war方式整合portlet的处理流程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值