0
我想在liferay的web表單portlet中添加一個字段來上傳文件。目前,我可以在我的表單中添加此字段,但無法獲取服務器/提及位置上的附加文件。我得到一個空指針異常。以下是我在web表單portlet的4個文件中所做的更改。在web表單portlet中附加文件
edit_field.jsp<aui:option selected='<%= fieldType.equals("file") %>' value="file">
<liferay-ui:message key="file" /></aui:option>
view.jsp的
<c:when test='<%= fieldType.equals("file") %>'>
<tr>
<td class="order-table-label">
<label><%= HtmlUtil.escape(fieldLabel) %></label>
</td>
<td>
<aui:input cssClass='<%= fieldOptional ? "optional" : StringPool.BLANK
%>' label="" name="<%= fieldName %>" type="file" value="
<%=HtmlUtil.escape(fieldValue) %>"/>
</td>
</tr>
</c:when>
ConfigurationActionImpl.java
boolean isFileUpload = false;
if("file".equals(fieldType))
{
isFileUpload = true;
}
preferences.setValue("isFileUpload" + i, String.valueOf(isFileUpload));
WebFormPortlet.java
UploadPortletRequest uploadRequest =
Portalutil.getUploadPortletRequest(actionRequest);
File uploadedFile = uploadRequest.getFile("file");
String sourcefileName = uploadRequest.getFileName(uploadedFile.getName());
(Throws NULL pointer exception on this line)
File folder = new File("\tmp\uploadedfile");
File filepath = new File(folder.getAbsolutePath() + File.seperator +
sourcefileName);
FileUtils.copyFile(uploadedFile ,filepath);
我已經在portal-ext.properties中提到了文檔庫的路徑,但事情是,沒有什麼是僅在請求中設置的,我不需要郵件功能,我只想將文件保存在服務器和其他信息中數據庫中的表單。如何在請求中獲取此文件? –