PrimeFaces文件上载不适用于Apple IOS 11.4.1

时间:2018-07-30 15:05:54

标签: ios file-upload primefaces

文件上传不适用于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)

0 个答案:

没有答案