java - 如何在 Liferay 6.0.6 中的 JSF portlet 中上传文件

标签 java jsf file-upload liferay portlet

我正在为 Liferay 6.0.6(Plugins SDK 6.1)开发一个 JSF 2.0 portlet,并且我需要文件上传功能。我尝试了以下不同的解决方案但没有成功:

欢迎任何关于如何做到这一点的建议,也欢迎黑客或使用 JSF 之外的其他技术。

最佳答案

为什么不使用标准 HTML 表单呢:

<form action="your_action_goes_here" method="post" enctype="multipart/form-data">
    <input type="file" name="file" id="file" />
    <input type="submit" name="submit" value="Submit" />
</form>

然后在您的 Java 代码中重写 processAction 方法(通常在扩展 GenericPortlet 或 Liferay 的 MVCPortlet 或 JSPPortlet(对于 5.2.3)的类中),然后您可以通过以下方式获取文件本身:

public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) {
    UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(actionRequest);
    File file = (File) uploadRequest.getFile("file");
    // Do something with your file here
}

工作完成了! :) 这只是骨架代码,您需要执行异常处理,但您的 IDE 将对此提供帮助。

~~编辑~~~

也许可以使用其他可能的解决方案:

 HttpServletRequest req = FacesUtil.getRequest();
 UploadPortletRequest uploadRequest = PortalUtil.getUploadPortletRequest(req);

这是我从:http://ironicprogrammer.blogspot.com/2010/03/file-upload-in-jsf2.html得到的

这有什么帮助吗?

关于java - 如何在 Liferay 6.0.6 中的 JSF portlet 中上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8779421/

相关文章:

c# - 如何使用 .NET Core 和 EF 将图像文件保存到 SQL 数据库

java - 如何从规划实体使用OptaPlanner ValueRange?

java - Eclipse RCP 在编辑器中更改后更新 View

jsp - URI 在识别 JSTL 标签库中起什么作用?

java - map 作为富人的支持属性(property) :pickList

java - 导入一个文件(MultipartFile)及过程-Java/Grails

java - 以有效的方式查找 PowerSet 的特定子集

java - Spring data JPA @Query 与命名列的映射

java - 如何将 primefaces 上下文菜单添加到数据表标题?

java - 如何上传 CSV 文件,然后自动将数据插入数据库?