liferay upload(二)

上一篇文章写了如果显示出upload组件,下面代码为点击save按钮调用的方法:

 

protected void addFile(ActionRequest actionRequest)
        throws Exception {

        Hook hook = HookFactory.getInstance();

        UploadPortletRequest uploadRequest =
            PortalUtil.getUploadPortletRequest(actionRequest);

        String title = ParamUtil.getString(actionRequest, "title");

        int numOfFiles = ParamUtil.getInteger(actionRequest, "numOfFiles");

        String fileName = "";
        StringBuffer fileNames = new StringBuffer();

 

       //多文件上传
        if (numOfFiles == 0) {
            File file = uploadRequest.getFile("file");
            fileName = uploadRequest.getFileName("file");

            System.out.println("file:" + file);
            System.out.println("if (numOfFiles == 0) fileName:" + fileName);

            if ((file != null) && (FileUtil.getBytes(file) != null)) {
                byte[] bytes = FileUtil.getBytes(file);

                System.out.println("bytes:" + bytes.length);

                if ((bytes != null) && (bytes.length > 0)) {
                    hook.addFile(
                        _COMPANY_ID, _PORTLET_ID, _GROUP_ID, _REPOSITORY_ID,
                        fileName, _FILE_ENTRY_ID, _PROPERTIES, new Date(),
                        _TAGS_ENTRIES, bytes);

                    fileNames.append(fileName + ",");
                }
            }
        }

        //传统方式上传
        else {
            for (int i = 1; i <= numOfFiles; i++) {
                File file = uploadRequest.getFile("file" + i);

                fileName = uploadRequest.getFileName("file" + i);

                FileUtil.getBytes(file));

                if ((file != null) && (FileUtil.getBytes(file) != null)) {
                    byte[] bytes = FileUtil.getBytes(file);

                    if ((bytes != null) && (bytes.length > 0)) {
                        hook.addFile(
                            _COMPANY_ID, _PORTLET_ID, _GROUP_ID,
                            CounterLocalServiceUtil.increment(), fileName,
                            _FILE_ENTRY_ID, _PROPERTIES, new Date(),
                            _TAGS_ENTRIES, bytes);

                        fileNames.append(fileName + ",");

                        byte[] fileContent =
                            hook.getFile(_COMPANY_ID, 0, fileName);
                    }
                }
            }
        }

        actionRequest.setAttribute("fileNames", fileNames.toString());
    }

    private static final String _PORTLET_ID = "workflow_WAR_workflowportlet";
    private static final long _COMPANY_ID = 0;
    private static final long _FILE_ENTRY_ID = 0;
    private static final long _GROUP_ID = 0;
    private static final String _PROPERTIES = StringPool.BLANK;
    private static final long _REPOSITORY_ID = 0;
    private static final String[] _TAGS_ENTRIES = new String[0];

 

在processAction()里调用addFile()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值