2012-04-06 9 views
1

私は自分のページにaspファイルアップロードコントロールを持っています。クライアント側で選択したファイルを検証する方法。 検証ルール: 1.ファイルはjpeg、png、bmpまたはgifでなければなりません。 2.ファイルサイズは25 kbと2 mb以内でなければなりません。 助けてください。ありがとう。
私はあなたがクライアント側のスクリプトを経由してファイルの入力要素で選択したファイルのサイズを決定することはできません拡張子aspファイルのアップロードを制御するクライアント側

<asp:FileUpload ID="FileUpload2" runat="server"/>      
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="ValidateFileUpload" ErrorMessage="Invalid file type. Only .gif, .jpg, .png, .bmp and .jpeg are allowed." ControlToValidate="FileUpload2" ValidationGroup="update">&nbsp;</asp:CustomValidator> 
<script language="javascript" type="text/javascript"> 
    function ValidateFileUpload(Source, args) { 
     var fuData = document.getElementById('<%= fuData.ClientID %>'); 
     var FileUploadPath = fuData.value; 

     if (FileUploadPath == '') { 
      // There is no file selected 
      args.IsValid = false; 
     } 
     else { 
      var Extension = FileUploadPath.substring(FileUploadPath.lastIndexOf('.') + 1).toLowerCase(); 

      if (Extension == "jpg" || Extension == "jpeg" || Extension == "png" || Extension == "gif" || Extension == "bmp") { 
       args.IsValid = true; // Valid file type 
      } 
      else { 
       args.IsValid = false; // Not valid file type 
      } 
     } 
    } 
</script> 
+0

私は私のコードで私のポストを編集しました。来てください。 –

+0

ファイルタイプの検証については、リンクを参照してください。http://www.aspsnippets.com/Articles/ASPNet-FileUpload-File-Extension-Validation.aspx – Vijjendra

答えて

6

を検証するために、次のコードを試みました。ファイルのサイズを調べるには、ファイルへの読み取りアクセス権が必要です。あなたが想像しているように、JavaScriptがあなたのコンピュータ上のファイルを読み込めるようにすることは、「本当に悪い考えです」。 ™

は、私は多くの場合、この種の質問を見て、ファイルの入力要素が実際に何をするかについていくつかの混乱があると信じています。ユーザがファイルを選択すると、ファイルバイトはこの要素に読み込まれるように「ロード」されません。むしろ、入力はの参照をファイルの場所に指定し、ブラウザが(フォームがポストされたときに)ファイルをエンコードしてPOSTで送信することを知るようにします。このプロセスはブラウザの内部にあり、スクリプトによって活用できる方法でクライアントに公開されません。

ファイルサイズの検証を行う必要がある場合、あなたは実際のファイルのバイトへのアクセス権を持っているサーバー上でそれを行う必要があります。大規模なファイルを使用してサイトを「氾濫させる」ことに関心がある場合は、IISインスタンスを構成することで最大許容POSTサイズを指定できます。

+0

ファイル入力に関する私の考えをクリアしていただきありがとうございます。 –

2

ajaxコントロールツールキットを試すことができます。それはファイルアップロードのための独自のコントロールを持っています。そのはるかに涼しい、今日使用され、ほとんどのブラウザで

関連する問題