大概意思就是在A页面点击上传这个按钮,然后弹出一个小小的B页面,B页面是负责文件的上传,上传成功的话回调一个文件的地址给A页面。
这个悬浮框的效果怎么弄出来?用window.open直接打开么?这样的话回调函数怎么写?~
对了。用Iframe可以做到吗?

解决方案 »

  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 uploaderMgr = new HttpUploaderMgr();
         uploaderMgr.Load();//加载控件 window.onload = function()
    {
    uploaderMgr.Init();//初始化控件
    //添加一个本地文件
    uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
    uploaderMgr.PostFirst(); };
    </script>
     单文件整合代码: 服务器返回消息:<input id="txtFilePath" type="text" size="50" />
    <script type="text/javascript" language="javascript">
    var uploaderMgr = new HttpUploaderSingleMgr();
    uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
    uploaderMgr.Load();
    //文件上传完成后执行的回调函数
    uploaderMgr.CompleteHook = function(msg)
    {
    document.getElementById("txtFilePath").value = msg;
    }; window.onload = function()
    {
    uploaderMgr.Init();
    };
    </script>
      

  2.   

    http://download.csdn.net/detail/s478853630/4159478
    可以弹出一个小小的B页面
      

  3.   


    你的这个我下载了。我想知道一下,如果我要在servlet写回调应该怎么写?这个是要回调到父窗口去,不是这个弹出来的B页面。。
      

  4.   

    父页面导入这个js文件,
    上传文件的子页面,提交到Servlet,java代码:
    request.setAttribute("upload", "ok");
    request.getRequestDispatcher("上传文件的子页面").forward(request, response);在上传文件的子页面写入js代码:
    <script type="text/javascript">
    window.onload = function() {
    if ("${upload}" == "ok") {
    parent.closeDialog();// 关闭上传文件的子页面
    }
    };
    </script>这样处理过之后,就能如你所愿了