2016-11-02 25 views
2
protected void btnUpload_Click(object sender, EventArgs e) 
    { 
     for (int i = 0; i < Request.Files.Count; i++) 
     { 
      HttpPostedFile PostedFile = Request.Files[i]; 
      if (PostedFile.ContentLength > 0) 
      { 
       string FileName = System.IO.Path.GetFileName(PostedFile.FileName); 
       PostedFile.SaveAs(Server.MapPath("Files\\") + FileName); 
      } 
     } 
    } 

<script type="text/javascript"> 
     var counter = 0; 
     function AddFileUpload() { 
      var div = document.createElement('DIV'); 
      div.innerHTML = '<input id="file' + counter + '" name = "file' + counter + 
          '" type="file" />' + 
          '<input id="Button' + counter + '" type="button" ' + 
          'value="Remove" onclick = "RemoveFileUpload(this)" />'; 
      document.getElementById("FileUploadContainer").appendChild(div); 
      counter++; 
     } 
     function RemoveFileUpload(div) { 
      document.getElementById("FileUploadContainer").removeChild(div.parentNode); 
     } 
    </script> 

アップロード機能は、ユーザーが望むだけのダイナミックに追加できます。asp.net動的複数ファイルアップロード

<div> 
      <span style="font-family: Arial">Click to add files</span> 
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" /> 
      <div id="FileUploadContainer"> 
      </div> 
      <asp:Button ID="btnUpload" runat="server" 
       Text="Upload" OnClick="btnUpload_Click" /> 

     </div> 

私はupload.Iに1つの以上のファイルは、常にこのRequest.Files.Count 0をデバッグしようとした場合でも、 for (int i = 0; i < Request.Files.Count; i++)このライン、Request.Files.Count always = 0をアップロード]をクリックしたときに、私が今直面してる問題が..です

+1

フォームタグ –

+0

の内部に入力が必要です.H.Herzlどのようにガイドしてください..? – KyLim

+0

あなたはWebフォームを使用しているので、コードを変更し、HTML Webフォームの中にdivを作成し、jsコードからdivを取得する必要があります –

答えて

1

FileUploadContainer divとUpload Buttonformにラップし、その方法をPOSTに設定してください。今度はファイルをの下に置いてください。

<div> 
    <span style="font-family: Arial">Click to add files</span> 
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" /> 
    <form id="frmUploads" runat="server" method="POST"> 
     <div id="FileUploadContainer"> 
     </div> 
     <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /> 
    </form> 
</div> 
+0

要素フォームは要素フォーム内に入れ子にしてはいけません – KyLim

+0

@KyLimあなたのコメントを説明していただけますか? –

+0

このエラーが発生しました... – KyLim

1

以下のほんの一例は、ページ、ソースの表示を実行し、ファイルアップロードボタンやコンテナのdiv要素がない場合は、次のフォーム要素宣言

でそれらを囲む、フォーム要素内に含まれていることを確認してください
<form method='POST' enctype='multipart/form-data'> 

<div> 
<!-- REST of your HTML --!> 

      <span style="font-family: Arial">Click to add files</span> 
    <input id="Button1" type="button" value="add" onclick="AddFileUpload()" /> 
      <div id="FileUploadContainer"> 
      </div> 
      <asp:Button ID="btnUpload" runat="server" 
       Text="Upload" OnClick="btnUpload_Click" /> 

     </div> 

</form> 
+0

エラー:要素フォームを要素フォーム内にネストしないでください このWebサイトのマスターページを使用しているマスターページには既に要素フォーム – KyLim

+0

があります。これはフォーム要素が既にあることを意味します。 'enctype = 'multipart/form-data''属性を持っていますか? –

関連する問題