Code:

<script language="javascript" type="text/javascript">
 <!--
 function startUpload(){
          document.getElementById('f1_upload_process').style.display = '';
 document.getElementById('f1_upload_form').style.display = 'none';
          return true;
 }

 function stopUpload(success){
          var result = '';
          var result=document.getElementById('result');
          if (success == 1){
             result.innerHTML = '<span class="msg">文件成功上传!</span><br/><br/>';
          }
          else {
 result.innerHTML = '<span class="emsg">文件上传出错!</span><br/><br/>';
          }
          document.getElementById('f1_upload_process').style.display = 'none';
          return true;
 }

 //-->
 </script>
 <body>
        <form id="form1" action="Upload.aspx" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="startUpload();">
        <p id="f1_upload_process" style="display:none;" align="center">Loading...<br/><img src="loader.gif " /><br/></p>
        <p id="result" align="center"></p>
        <p id="f1_upload_form" align="center"><br/>
            <input name="myfile" type="file" size="30" />
            <input type="submit" name="submitBtn" class="sbtn" value="上传" />
         </p>
        </form>
        <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
 </body>


Server:
这里只给出aspx的简单实现

protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.Page.IsPostBack)
            {
                if (Request.Files.Count == 1)
                {
                    Request.Files[0].SaveAs("c:/" + System.IO.Path.GetFileName(Request.Files[0].FileName));
                    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "uploadstate", "window.top.window.stopUpload(1);", true);
                }
            }
        }

More:

1 Max's AJAX file uploader

Max's AJAX file uploader is a simple and easy to use script, which allows you to upload files to your webserver without reloading the current page. During the upload an animated progress bar is shown. The server side is written in PHP.

2 Ajax Multi Image File Upload

Ajax driven image file upload with thumbnail view and delete function.

3 jQuery Multiple File Upload Plugin

The Multiple File Upload Plugin (jQuery.MultiFile) is a non-obstrusive plugin for the jQuery Javascript library that helps users easily select multiple files for upload quickly and easily whilst also providing some basic validation functionality to help developers idenfity simple errors, without having to submit the form (ie.: upload files).