上傳文件時出現No result defined for action com.xxx.act...

當上傳文件時老是說 No result defined for action com.xxx.action.SomeAction and result input 。 app

在action中添加以下三個方法。打印出來的是Invalid field value for field "file". post

public void addActionError(String anErrorMessage){
        String s=anErrorMessage;
        System.out.println(s);
    }
    public void addActionMessage(String aMessage){
        String s=aMessage;
        System.out.println(s);


    }
    public void addFieldError(String fieldName, String errorMessage){
        String s=errorMessage;
        String f=fieldName;
        System.out.println(s);
        System.out.println(f);


    } 編碼

解決方法: url

 在作文件上傳時,有一個form標籤的屬性必需要加上。 spa

    文件上傳的form若以下面所寫,則會報異常:Invalid field value for field "**",緣由是:表單中enctype="multipart/form-data"的意思,是設置表單的MIME編碼。默認狀況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了multipart/form-data,才能完整的傳遞文件數據,進行下面的操做。 code

    <s:form action="fileUpload.action" method="post"></s:form> orm

    應改爲下面書寫形式: ip

    <s:form action="fileUpload.action" method="post" enctype="multipart/form-data"></s:form> input

 

    還須要注意一個問題:enctype=/"multipart/form-data/"是上傳二進制數據; form裏面的input的值以2進制的方式傳過去。form裏面的input的值以2進制的方式傳過去,因此request就得不到值了。 文件上傳

相關文章
相關標籤/搜索