0
 $(".btnSavePurpose").click(function(e){
       e.preventDefault();
       var item=$(this);
       $.post("url", 
                         item.closest("form").serialize(), function(data){
           if(data.Status=="Success")
           {
             //Let's replace the form with messsage                
             alert("Updated Successfully");
           }    
           else
           {
              alert(data.ErrorMessage);
           }

       });   
    });   

ajaxを使用してフォームを投稿したい。$post() jquery 関数を使用しました。アップロードされたファイルなしですべてのデータを取得しています。enctype をフォームに追加しました。Request.File["file"] null を取得しています。アップロードされたファイルを取得する方法

<form method="post" id="profile-form" enctype="multipart/form-data">
   <table>
     <tr>
        <td style="width: 25%">
         Profile Name<span class="Require">&nbsp;*</span>
         </td>
         <td style="width: 10%">
          :
         </td>
          <td style="width: 70%">@Html.TextBoxFor(m => m.ProfileName, new { @class = "formTextBox" })
          </td>
   </tr>
   <tr>
       <td>
          My Ocupation<span class="Require">&nbsp;*</span>
       </td>
       <td>
       :
       </td>
       <td>@Html.TextBoxFor(m => m.Ocupation, new { @class = "formTextBox" })
       </td>
  </tr>
  <tr>
      <td>
         Upload New Profile Photo
      </td>
      <td>
         :
      </td>
      <td>
            <input type="file" name="file" id="file" runat="server" accept="gif|jpg|png|jpeg|bmp" />                                                       
      </td>
  </tr>
 </table>
 <input type="submit" id="btnSubmit" value="Submit" class="formButton" />
 </form>
4

2 に答える 2

0

この例
のhtmlを試してください

<form id="form1" runat="server" enctype="multipart/form-data">
 <input type="file" id="myFile" name="myFile" />
 <asp:Button runat="server" ID="btnUpload" OnClick="btnUploadClick" Text="Upload" />
</form>

。ネット

 protected void btnUploadClick(object sender, EventArgs e)
    {
        HttpPostedFile file = Request.Files["myFile"];

        //check file was submitted
        if (file != null && file.ContentLength > 0)
        {
            string fname = Path.GetFileName(file.FileName);
            file.SaveAs(Server.MapPath(Path.Combine("~/App_Data/", fname)));
        }
    }

js の書き方 こちら をご覧くださいjQuery を使用して ajax を介して multipart/form-data からデータを送信する

于 2012-09-25T10:41:12.763 に答える
0

あなたがやろうとしていることは、これほど単純ではありません。JavaScript でファイルを読み取ることはできません。ファイルシステムには一切アクセスできません。つまり、AJAX を使用してファイルを投稿することはできません。(まあ、それは HTML5 で行うことができます - 参照:ファイルを非同期的にアップロードするにはどうすればよいですか? )

問題を解決する方法はたくさんありますが、自分ですぐに解決できる方法は、ファイルを iframe に投稿することです。これには、たとえばhttp://blueimp.github.com/jQuery-File-Upload/などの jQuery プラグインを使用することをお勧めします。

于 2012-09-25T10:43:01.303 に答える