2016-11-16 7 views
0

によって送信されていません はまた、私は別のparam私は自分のフォームのコードの下に</p> <p>を提出したいしている、ファイルをアップロードしようとしているが、私はタイプのファイルの入力を使用してファイルをアップロードしようとしている要求

<form id="fileupload" action="uploadMassContentsFromExcelSheetNew" method="post" 
    enctype="multipart/form-data" onsubmit="return doMassValidate();" >   

     <input type="hidden" id="fileName" name="fileName" value=""/> 
     <input type="hidden" id="serviceIdMass" name="serviceIdMass" value=""/> 
     <input type="hidden" id="contentTypeMass" name="contentTypeMass" value=""/> 



    <div id='fileDiv' class="row fileupload-buttonbar"> 
     <div class="col-md-12 col-xs-12 col-lg-12"> 
     <div class="input-group input-group-file"> 
     <input type="text" class="form-control" 
         disabled="disabled" id="uploadFile" name="uploadFile"> 
     <span class="input-group-btn"> 
      <span class="btn btn-primary btn-file"> 
     <i class="icon md-upload" aria-hidden="true"></i> 
     <input type="file" name="files" id="uploadBtn"> 
      </span> 
      </span> 
     <p style="word-wrap: break-word;"> 
      <small id="fileError" style="display: none;" 
          class="help-block" data-fv-validator="notEmpty" 
          data-fv-result="VALIDATED"> 
       <s:property value="getText('content.file.error')" /> 
      </small> 
     </p> 

     </div> 
     </div> 
    </div> 

      <button name="sub" type="submit" >submit</button> 

</form> 

JSコード:

0123:これは私の行動である

function doMassValidate(){ 
    var hasSelectedFile=checkIfHasSelectedFile(); 
    if(!hasSelectedFile){ 
     fileErrorMessage(); 
     $("#fileError").hide(); 

     return false; 
    } 
    else{ 
     removeErrorClass('fileDiv'); 
     return true; 
    } 
} 
function checkIfHasSelectedFile(){ 
    var hasNotUploadFile= $('#uploadBtn').val(); 
    if(hasNotUploadFile=="" || hasNotUploadFile=='') 
     return false; 
    else return true; 

} 
ファイルアップロードインターセプタを使用して

とイム:

<interceptor-ref name="fileUpload"/> 
<interceptor-ref name="basicStack"/> 

これが要求です:

------WebKitFormBoundaryjBpjIWpSdq4RzL0X 
Content-Disposition: form-data; name="fileName" 

C:\fakepath\SMSMassploadOladDate.xls 
------WebKitFormBoundaryjBpjIWpSdq4RzL0X 
Content-Disposition: form-data; name="serviceIdMass" 

647 
------WebKitFormBoundaryjBpjIWpSdq4RzL0X 
Content-Disposition: form-data; name="contentTypeMass" 

1 

------WebKitFormBoundaryjBpjIWpSdq4RzL0X 
Content-Disposition: form-data; name="files"; filename="" 
Content-Type: application/octet-stream 

は、コンテンツタイプが "application/ms-excel,application/vnd.ms-excel" の代わりapplication/octet-streamなるファイルではありませんでしょうか?ファイル名は空ではありませんか?

私は本当にファイルに間違いがないのですか?

+0

問題は何ですか?要求は開始されませんか?私はあなたのjavascriptに問題があると思っています。おそらく、読み込まれた入力ファイルの値の代わりに偽のフィールドを読み込んでいるからです。 'var hasNotUploadFile = $( '#uploadBtn')。val();' –

+0

問題は、リクエストファイルの値がnullのときにファイルがサーバ側に送られないということです。 ユーザーがファイルをアップロードしたかどうかを確認するスクリプトを更新しました。 – Rasha

+0

まず、スクリプトを完全に削除して、ファイルを正常に送信してみてください。それは動作しますか? –

答えて

0

私はstruts.xmlでこの問題を解決しました。私は単に "struts-default"を拡張しました。 "struts-default、json-default"を拡張する必要があります。 また、blueimpプラグインに関連して、私は "main.js"ライブラリが呼び出され、私のコードが動作しないようにしようとしました。

関連する問題