File upload 如何在liferay操作中访问多部分/表单数据表单参数

File upload 如何在liferay操作中访问多部分/表单数据表单参数,file-upload,liferay,portlet,liferay-6,File Upload,Liferay,Portlet,Liferay 6,我有一个表格,其中包括一个常规文本输入和一个文件上传 <portlet:actionURL var='create' name="addProduct"> </portlet:actionURL> <form id="addform" action="<%=create%>" method="post" enctype="multipart/form-data"> <dl class="dl-horizontal">

我有一个表格,其中包括一个常规文本输入和一个文件上传

<portlet:actionURL var='create' name="addProduct">
</portlet:actionURL>    
<form id="addform" action="<%=create%>" method="post" enctype="multipart/form-data">

    <dl class="dl-horizontal">
        <dt>Product Name</dt>
        <dd>
            <input type="text"  name="name"  />
        </dd>
        <dt>Image File</dt>
        <dd>
            <input type="file" name="imgFile" >
        </dd>
    </dl>
        <button type="submit">Save</button>
</form>

当您发布到portlet操作时,参数应该被命名为portlet的名称空间。试一试

 <input type="text" name="<portlet:namespace/>name"/>
 ...
 <input type="file" name="<portlet:namespace/>imgFile"/>
或者,您可以使用aui标记库,例如

 <aui:form ...>
    <aui:input ... name="name"/>
 </aui:form>

此taglib自动添加名称空间

当您发布到portlet操作时,参数应该被命名为portlet。试一试

 <input type="text" name="<portlet:namespace/>name"/>
 ...
 <input type="file" name="<portlet:namespace/>imgFile"/>
或者,您可以使用aui标记库,例如

 <aui:form ...>
    <aui:input ... name="name"/>
 </aui:form>

此标记库自动添加名称空间

发现当表单为多部分/表单数据时,我应该从UploadPortletRequest而不是ActionRequest获得额外的参数名称

获取参数的正确形式:

UploadPortletRequest uploadRequest = PortalUtil
                    .getUploadPortletRequest(request);
String name = ParamUtil.getString(uploadRequest,"name");

发现当表单是多部分/表单数据时,我应该从UploadPortletRequest而不是ActionRequest获得额外的参数名称

获取参数的正确形式:

UploadPortletRequest uploadRequest = PortalUtil
                    .getUploadPortletRequest(request);
String name = ParamUtil.getString(uploadRequest,"name");

在谷歌上搜索liferay upload的点击率很高,甚至包含代码示例。我不是在寻找liferay文件上传示例。我的文件上传工作正常。我的问题是,当我使用多部分表单时,我无法访问我的常规参数。我搜索了一下,什么也没找到,抱歉。我给出了我的猜测作为答案…谷歌上搜索liferay upload有很多点击率,甚至包含代码示例。我不是在寻找liferay文件上传示例。我的文件上传工作正常。我的问题是,当我使用多部分表单时,我无法访问我的常规参数。我搜索了一下,什么也没找到,抱歉。我给出我的猜测作为答案…好的,那么我们需要看看您使用的操作实现。你能将动作处理程序的相关部分添加到你的问题中吗?好的,那么我们需要看看你使用的动作实现。你能把动作处理程序的相关部分添加到你的问题中吗?对我来说也不行。似乎我们被迫使用另一个框架,而不是liferay MVCPortlet,这也不适用于我。似乎我们被迫使用另一个框架,而不是liferay mvcportlet