不考虑IE可以用XMLHttpRequest+formdata,支持进度。XMLHttpRequest Level 2新特性介绍

解决方案 »

  1.   

    楼主试试这个控件:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
    此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
    另外一个特点是支持自动上传指定的本地文件。单文件上传演示上传本地文件代码
    使用步骤如下:
    1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\\)
    2.调用PostFirst函数开始上传文件。<script type="text/javascript" language="javascript">
         var fileMgr = new HttpUploaderMgr();
         fileMgr.Load();//加载控件 window.onload = function()
    {
    fileMgr.Init();//初始化控件
    //添加一个本地文件
    fileMgr.AddFile("D:\\Soft\\QQ2010.exe");
    fileMgr.PostFirst(); };
    </script>
    获取本地文件大小 服务器返回消息:<input id="txtFilePath" type="text" size="50" />
    <script type="text/javascript" language="javascript">
    var fileMgr = new HttpUploaderSingleMgr();
    fileMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址
    fileMgr.Load();
    function testFileSize()
    {
        var obj = new ActiveXObject(fileMgr.ActiveX["Partition"]);
        alert(obj.FileSize("D:\\VS2012.SP4.iso"));
    } function testFileLength()
    {
        var obj = new ActiveXObject(fileMgr.ActiveX["Partition"]);
        alert(obj.FileLength("D:\\VS2012.SP4.iso"));
    }
    </script>
    单文件整合代码: 服务器返回消息:<input id="txtFilePath" type="text" size="50" />
    <script type="text/javascript" language="javascript">
    var fileMgr = new HttpUploaderSingleMgr();
    fileMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";//指定文件上传地址,可以在这里设置文件服务器地址
    fileMgr.Load();
    //文件上传完成后执行的回调函数
    fileMgr.CompleteHook = function(msg)
    {
    document.getElementById("txtFilePath").value = msg;
    }; window.onload = function()
    {
    fileMgr.Init();
    };
    </script>示例下载:
    CAB安装包
    开发文档
    ASP示例
    ASP.NET示例
    JSP示例
    PHP示例
      

  2.   

    下载控件:
    楼主试试这个控件:http://www.cnblogs.com/xproer/archive/2011/03/26/1996322.html
    默认界面批量下载中下载中...下载完毕
    示例代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>HTTP文件下载控件演示页面</title>
        <link type="text/css" href="HttpDownloader/HttpDownloader.css" rel="Stylesheet"/>
        <script type="text/javascript" src="HttpDownloader/HttpDownloader.js" charset="utf-8"></script>
    </head>
    <body>
    <input type="button" value="下载测试文件" onclick="StartDown()" />
    <div id="downDiv"></div>
        <script type="text/javascript" language="javascript">
         var downerMgr = new FileDownloaderMgr();
         downerMgr.Config["Folder"] = "F:\\";
         downerMgr.LoadTo("downDiv"); window.onload = function()
    {
    downerMgr.Init();
    };

    function StartDown()
    {
    //添加到下载队列
    downerMgr.AddFile("http://www.ncmem.com/images/ico-ftp.jpg");
    downerMgr.PostFirst();
    } function copyFile()
    {
    var obj = new ActiveXObject(downerMgr.ActiveX["Partition"]);
    obj.CopyFile("f:\\ftp\\test.gif","f:\\ftp\\test1.gif");
    } function copyFolder()
    {
    var obj = new ActiveXObject(downerMgr.ActiveX["Partition"]);
    obj.CopyFile("f:\\ftp\\test.gif","f:\\ftp\\ftp1");
    }

    function moveFile()
    {
    var obj = new ActiveXObject(downerMgr.ActiveX["Partition"]);
    obj.MoveFile("f:\\ftp\\test.gif","f:\\ftp\\test2.gif");
    }

    function moveFolder()
    {
    var obj = new ActiveXObject(downerMgr.ActiveX["Partition"]);
    obj.MoveFile("f:\\ftp\\test2.gif","f:\\ftp\\ftp1");
    }

    </script>
    <input type="button" value="复制到文件" onclick="copyFile()" />
    <input type="button" value="复制到文件夹" onclick="copyFolder()" />
    <input type="button" value="移动文件" onclick="moveFile()" />
    <input type="button" value="移动到文件夹" onclick="moveFolder()" />
    </body>
    </html>
    资源下载:
    cab安装包(x86)
    cab安装包(x64)
    xpi安装包
    crx安装包
    exe安装包
    开发文档
    根证书
    DEMO示例
      

  3.   

    相当不错的控件,非常方便。收下了,最近公司在做一个资源项目,正好有这个需求。在网上找了很长时间没有找到,只有Flash上传的,不太符合需求。
      

  4.   

    http://www.oschina.net/project/tag/356/jquery-file-upload  参考下哈~~