AjaxUpload
 
上传功能的页面代码(upload.aspx):
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="upload.aspx.cs" Inherits="upload" %>
 上传
 
 
 
 
 
 
上传功能的服务端代码(upload.aspx.cs)
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class upload : System.Web.UI.Page
{
 string picPath = "";
 string picServer = "/upload";
 protected string itemID = "";
 protected void Page_Load(object sender, EventArgs e)
 {
 if (Request.QueryString["id"] != null)
 {
 itemID = Request.QueryString["id"];
 }
 
 if (IsPostBack)
 {
 picPath = Server.MapPath("\\upload");
 doUpload();
 }
 }
 protected void doUpload()
 {
 try
 {
 HttpPostedFile file = file1.PostedFile;
 string strNewPath = GetSaveFilePath() + GetExtension(file.FileName);
 file.SaveAs(picPath+strNewPath);
 string urlPath = picServer + strNewPath;
 urlPath = urlPath.Replace("\\", "/");
 WriteJs("parent.uploadsuccess('" + urlPath + "','" + itemID + "'); ");
 
 }
 catch (Exception ex)
 {
 WriteJs("parent.uploaderror();"); 
 }
 }
 private string GetExtension(string fileName)
 {
 try
 {
 int startPos = fileName.LastIndexOf(".");
 string ext = fileName.Substring(startPos, fileName.Length - startPos);
 return ext;
 }
 catch (Exception ex)
 {
 WriteJs("parent.uploaderror('" + itemID + "');");
 return string.Empty;
 }
 }
 private string GetSaveFilePath()
 {
 try
 {
 DateTime dateTime = DateTime.Now;
 string yearStr = dateTime.Year.ToString(); ;
 string monthStr = dateTime.Month.ToString();
 string dayStr = dateTime.Day.ToString();
 string hourStr = dateTime.Hour.ToString();
 string minuteStr = dateTime.Minute.ToString();
 string dir = dateTime.ToString(@"\\yyyyMMdd");
 if (!Directory.Exists(picPath + dir))
 {
 Directory.CreateDirectory(picPath + dir);
 }
 return dir + dateTime.ToString("\\\\yyyyMMddhhmmssffff");
 }
 catch (Exception ex)
 {
 WriteJs("parent.uploaderror();");
 return string.Empty;
 }
 }
 protected void WriteJs(string jsContent)
 { 
 this.Page.RegisterStartupScript("writejs","");
 }
}
基本上就是这些,重点请看第一部份的代码,主要是JS控件显示,还有一个重点是upload.aspx调用父级页面的方法这些实现。
Javascript无刷新上传演示地址:http://www.wathon.com/opensource/js/ajaxuploadv1/upload.html
源代码下载地址:http://www.wathon.com/opensource/js/ajaxuploadv1/ajaxupload_src.zip
无刷新上传在编辑框中的应用演示:http://www.cnblogs.com/Files/huacn/ajaxupload_example.zip
来源:huacn的cnblogs