文件上传不适用于Ipad 11.4.1版,但适用于8.4.1版,我没有测试其他版本。从2年的这个文件上传的工作我没有遇到任何问题。我无法使用来自iPhone和iPad的文件上传组件保存表单。 Primefaces 6.0版
有人遇到这样的问题吗?
我的示例代码;
<h:form id="test" enctype="multipart/form-data" method="POST">
<p:fileUpload
mode="advanced" auto="true" fileUploadListener="#{testManagedBean.handleFileUpload}">
<f:attribute name="item" value="#{item}" />
</p:fileUpload>
<h:commandButton id="Save"
action="#{testManagedBean.upload}"
value="Test">
<f:ajax execute="@all" render="@form"/>
</h:commandButton>
</h:form>
这是我的托管bean;
@ManagedBean ( name = "testManagedBean" )
@ViewScoped
public class TestManagedBean implements Serializable
{
private static final long serialVersionUID = 4426815554605967048L;
private UploadedFile file;
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public void upload() {
if(file != null) {
FacesMessage message = new FacesMessage("Succesful", file.getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
else
{
FacesMessage message = new FacesMessage("No file Selected");
FacesContext.getCurrentInstance().addMessage(null, message);
}
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = ( HttpServletRequest ) context.getExternalContext().getRequest ();
FacesMessage message = new FacesMessage(request.getHeader("User-Agent"));
FacesContext.getCurrentInstance().addMessage(null, message);
}
public void handleFileUpload(FileUploadEvent event) {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}
给出此错误消息。
Jul 25, 2018 6:04:36 PM org.primefaces.webapp.MultipartRequest parseRequest
SEVERE: Error in parsing fileupload request
org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. null
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115)
at org.primefaces.webapp.MultipartRequest.parseRequest(MultipartRequest.java:57)
at org.primefaces.webapp.MultipartRequest.<init>(MultipartRequest.java:51)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.harmony.ict.workorder.servlets.LoginFilter.doFilter(LoginFilter.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.harmony.ict.workorder.servlets.RedirectFilter.doFilter(RedirectFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)