2017-09-04 11 views
-1

私のアプリケーションでは、単一のfileuploadコントロールで複数のファイルを受け入れるファイルアップローダがあります。そのファイルアップローダのすべてのファイルの拡張子を検証する必要があります私はファイルのアップローダで5つのファイルを選択した場合、すべてのファイルは-b.doc、-b.docx、-b.DOC、-b.DOCXでなければなりませんこれらの4つ以外の拡張子があります。エラーメッセージを表示し、その特定のファイルアップローダーにあるファイルをクリアする必要があります。どのようにすればこのファイルをアップローダーコードにすることができますか?ASP .NETを使用して複数ファイルアップローダのすべてのファイルを検証する方法C#

<asp:FileUpload ID="filDoc" runat="server" multiple="multiple"/> 

私は問題ではなく、それはエラーメッセージエラーメッセージを表示した後、それはファイルアップローダー内のファイルをクリアする必要があります表示する必要がありますが、それは二つのファイル

<asp:FileUpload ID="filDoc" runat="server" multiple="multiple" onchange ="checkFileExtension(this);"/> 

<script type="text/javascript"> 
     function checkFileExtension(elem) { 
      var filePath = elem.value; 
      if (filePath.indexOf('.') == -1) 
       return false; 

      var validExtensions = new Array(); 
      var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase(); 
      //Add valid extentions in this array 
      validExtensions[0] = 'doc'; 
      //validExtensions[1] = 'pdf'; 

      for (var i = 0; i < validExtensions.length; i++) { 
       if (ext == validExtensions[i]) 
        return true; 
      } 
      alert('The file extension ' + ext.toUpperCase() + ' is not allowed!'); 
      return false; 
     } 
    </script> 

答えて

1
を示していることが、アラート表示されている以下のコードを試してみました

上記のコードはうまく見えますが、私は少しだけonChangeイベントで修正しました。下記のチェックアウト:

JavaScriptの

<script type="text/javascript" language="javascript"> 
function checkFileExtension() { 
    var chkFile = document.getElementById('<%= filDoc.ClientID %>'); //Gets the control of files uploaded 
    var label = document.getElementById('<%= lblMsg.ClientID%>'); //Gets the control of the label to show message 

    for (var i = 0; i < chkFile.files.length; i++) { //Iterates the control using a for loop 
     var myFile = chkFile.files[i].name.substr(-7); //Gets the file extension name with an array 
     var myFile2 = chkFile.files[i].name.substr(-6); 

     if (myFile == "-B.docx" || myFile == "-b.docx" || myFile2 == "-B.doc" || myFile2 == "-b.doc") { //Validates the file extensions 
       label.innerText = "Valid Format"; //Finally outputs the result 
     } 
     else { 
      label.innerText = "Invalid Format"; 
      chkFile.value = ""; 
     } 
    } 
} 
</script> 

ASP.NET

<asp:FileUpload ID="filDoc" runat="server" onchange="javascript:return checkFileExtension();" /> 
<asp:Label ID="lblMsg" runat="server"></asp:Label> 

: - あなたはどのように今見ることができます私はここGIF添付しましたできます。

Sample Image - File Uploader Validation

+0

あなたは、私はすでにそれを@abc行う方法を示していると私はあなたがより良いものを見つけることができます、と信じてより良い方法 – abc

+0

でそれを行うためのコードを生成することができます。少し探検してください。 –

+0

問題はありませんが、私には.wmaと.aiffのみが含まれていることを確認する別のファイルアップローダーがあります。 123.wmaまたは123.WMAまたは123.aiffまたは123.AIFFここでは、.wmaと.wmaの検証が必要です。 aiffには-bが含まれていません 拡張子が付いたファイル名のみが含まれています – abc

関連する問題