2013-09-27 25 views
0

根據我的代碼驗證功能應該只接受ZIP版本。<input type =「file」/>如果安裝了WINRAR,文件格式驗證不起作用

所以其我的第一個系統上工作的所有3個瀏覽器「IE 10,Chrome瀏覽器29和Firfox 24」和沒有 WINRAR安裝

但現在我有一些奇怪的問題,我的代碼是工作的罰款,直到我沒有安裝WINRAR。在另一個我安裝了WINRAR的系統上,我收到了問題,如果我也在第二個系統上傳ZIP文件,它仍會提示錯誤「它只接受ZIP文件」

下面是我的代碼和小提琴太:

JQUERY

<script> 

    $().ready(function() { 

     // validate signup form on keyup and submit 
     $("#deploymentUploadForm").validate({ 

      rules:{ 
       File: { 
        required: true, 
        accept: "application/zip,application/octet-stream,application/x-zip,application/x-zip-compressed" 
       } 
      }, 

      messages:{ 
       File: { 
        required: "This field is mandatory!", 
        accept: "Accepts only zip file!" 
       } 
      } 

     }); 

    }); 
</script> 

HTML

<div id="wizardSteps"> 
      <form action="~/Deployment/FileUpload" name="deploymentUploadForm" id="deploymentUploadForm" enctype="multipart/form-data" method="post"> 
       <h1>Deployment</h1> 

       <p> 
        <input type="file" name="File" accept="application/zip"> 
       </p> 

       <div role="button" class="marginTop50 marginBottom"> 
        <p> 
         <input type="submit" id="getDeploymentList" value="Upload" class="active" > 
        </p> 
       </div> 
      </form> 
     </div> 

小提琴http://jsfiddle.net/aasthatuteja/rMS8D/

當我在第1系統安裝了WinRAR(這是工作的罰款beforer我收到了同樣的問題小提琴太安裝WINRAR)

如果你需要其他東西,請讓我知道。

非常感謝!

+0

什麼mimetype不winRAR更改zip文件? – dandavis

+0

如何檢查?即使我也試圖找到那個... – UID

+1

嗯。你可以在http://danml.com/slim/「上傳」一個壓縮文件,產生的dataURL將以瀏覽器/操作系統添加的MIME爲前綴...輸入文件在chrome中顯示「選擇文件」... – dandavis

回答

0

很多努力找到後爲什麼「接受:」法不接受這是由「WinRAR的」創建壓縮文件。我改變了「接受」的方法與在「附加的方法提供的「延伸」。 js「 - <script src="http://jquery.bassistance.de/validate/additional-methods.js"></script>。請看以下最新代碼:

JQUERY:

<script> 

    $().ready(function() { 

     // validate signup form on keyup and submit 
     $("#deploymentUploadForm").validate({ 

      rules:{ 
       File: { 
        required: true, 
        extension: "zip" 
       } 
      }, 

      messages:{ 
       File: { 
        required: "This field is mandatory!", 
        extension: "Accepts only zip file!" 
       } 
      } 

     }); 

    }); 
</script> 

如果你不想包括完整的 「附加methods.js」,那麼下面就是方法: -

jQuery.validator.addMethod("extension", function(value, element, param) { 
    param = typeof param === "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; 
    return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); 
}, jQuery.format("Please enter a value with a valid extension.")); 

感謝所有人關注此問題!

相關問題