gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:32:19 24 4
gpt4 key购买 nike

我正在为 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com