首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 如何在jsp页中实现浏览本地硬盘文件夹的功能 [已结贴,结贴人:foreverfoolke]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2007-10-12 16:54:00 楼主
    我搜索了好久都没找到合适的,只好发帖寻求帮助了。
    大家都用过迅雷吧,我想实现的功能就是像迅雷中点击下载后出现的存储目录后面那个浏览按钮的功能,点击一下能看到本地硬盘的所有文件夹,选择一个目录点击确定就自动添加到按钮前面的对话框里了。
    小弟,初学者想破脑袋都不知给如何实现,希望高手指点啊。
    能尽量说的详细点,最好能分步骤说清楚,偶很菜的。。
    先谢谢了!
    把能给的积分全花上。。
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happytreefriends
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 16:59:451楼 得分:20
    lz的意思是不是点击"下载"以后可以自己选择路径然后下载吗?
    是的话,有很多封装好的js都可以实现,上网搜一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:09:582楼 得分:0
    就是这么简单的功能,但是我不会。而且不会找。。。
    刚学没多久,能帮我找个吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • esupermary
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:12:473楼 得分:15
    迅雷的是用自己写的COM  来调用的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:17:514楼 得分:0
    我在jsp中如何实现这个功能呢?1楼说的似乎很对,但我实在自己找不到。希望找个朋友能教我。
    这是小弟初次发问,所有积分绝对一点不留。
    最好能有个高手在线请教,本人QQ164292407,结贴散分。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • silver_zhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:22:535楼 得分:25
    <input type="file" > 看看先
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dragon_sea
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:30:476楼 得分:20
    <input type=file id="mxh">
    <input type=button onclick="alert(document.all.mxh.value)" value="get">
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:37:077楼 得分:0
    很好。很好!
    很接近了,楼上给的是上传用的吧?必须具体到某个文件才能点击确定。我要的就是选择一个路径。太感谢了,总算让我看到相似的了。
    我才明白为什么找不到,原来太简单是吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 17:38:398楼 得分:0
    还有一个问题,我怎么给你们分啊?我点帖子后面的管理进入了,输入分数,然后点击什么确定啊?我搜索了以前的帖子都说进入管理给分,但没说点什么确定啊。。。见笑了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dengshangkun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 18:06:249楼 得分:5
    结帖就给分了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ProvidenceZY
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2007-10-12 18:11:0610楼 得分:5
    参考一下这个帖子,应该能完成你的功能!
    http://topic.csdn.net/t/20021223/21/1293167.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • karlpan01
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 18:22:4711楼 得分:5
    就是file啊!哎!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • simpsonWang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-12 18:25:5612楼 得分:5
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档 </title>
    </head>
    <body>
    <table border="0" cellpadding="0" width="100%" id="tb_show">
    <tr>
    <td width="18%">文件保存位置: </td>
    <td width="82%">
    <%-- <html:file property="file" size="40"  styleClass="inputbox"/>--%>
    <input name="backDir" type="text" value ="C:\" size="100" width="500">
    </td>
    </tr>

    <tr>
    <td>目录位置: </td>
    <td>
    <select name="tables_drive" id="tables_drives" onchange="get_drives()" > </select>
    </td>
    </tr>

    <tr>
    <td colspan="2">
    <select name="table_folder" id="table_folder"  size="10" multiple ondblclick="get_file()"> </select>
    </td>
    </tr>

    <tr>
        <td colspan="2">
    <font color="red">说明:双击列表框的一个选项,就将该文件夹下面的文件夹显示在该列表框中。第一个就是根目录 </font>
    </td>
    </tr>
    </table>
    </body>
    </html>
    <script>
    /*
    *初始化,将系统所有的驱动器放入table_drives列表
    */
    window.onload = new function init()
    {
    var fso, s, n, e, x;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    e = new Enumerator(fso.Drives);
    s = "";
    for (; !e.atEnd(); e.moveNext())
    {
      x = e.item();
      s = s + x.DriveLetter;
      s += ":";
          if (x.DriveType == 3)
            n = x.ShareName;
          else if (x.IsReady)
            n = x.VolumeName;
          else
            n = "[驱动器未就绪]";
          s +=  n + ",";
    }
    var drives = s.split(",");
    var tableDrives = document.getElementById("tables_drives");
    for ( var i = 0; i < drives.length-1; i++ )
    {
    var option = document.createElement("OPTION");
    drives[i].split(":");
    option.value = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
    option.text = "["+drives[i].split(":")[0]+":]"+drives[i].split(":")[1];
    tableDrives.add(option);
    }
    }

    /*
    *tables_drives列表中选中的驱动器上所有文件夹放入table_folder列表中
    */
    function get_drives()
    {
    var tableDrives = document.getElementById("tables_drives");
    var tableFolders = document.getElementById("table_folder");
    for ( var i = 0; i < tableDrives.options.length; i++ )
    {
    if ( tableDrives.options[i].selected == true )
    {
    var fso, f, fc, s;
    var drive = tableDrives.options[i].value.split(":")[0].substring(1,tableDrives.options[i].value.split(":")[0].length);
    document.getElementById("backDir").value = drive + ":\\";
    fso = new ActiveXObject("Scripting.FileSystemObject");
    if (fso.DriveExists(drive))
    {
    d = fso.GetDrive(drive);
    if ( d.IsReady )
    {
    f = fso.GetFolder(d.RootFolder);
    fc = new Enumerator(f.SubFolders);
    s = "";
    for (;!fc.atEnd(); fc.moveNext())
    {
    s += fc.item();
    s += ",";
    }

    var len = tableFolders.options.length;
    while(len >= 0)
    {
    tableFolders.options.remove(len);
    len--;
    }
    var option = document.createElement("OPTION");
    option.value = drive + ":\\";
    option.text = drive + ":\\";
    tableFolders.add(option);
    var folders = s.split(",");
    for ( j = 0; j < folders.length -1; j++)
    {
    option = document.createElement("OPTION");
    option.value =  folders[j];
    option.text = folders[j];
    tableFolders.add(option);
    }
    }
    else
    {
    alert("无法改变当前内容!")
    }
    }
    else
    return false; 
    }
    }
    }

    /*
    *table_folder双击选项中的一个选项,就将该文件夹下面的文件夹显示在table_folder列表中。
    */
    function get_file()
    {
    var tableFolders = document.getElementById("table_folder");
    var tableDrives = document.getElementById("tables_drives");
    for ( var i = 0; i < tableFolders.options.length; i++ )
    {
    if ( tableFolders.options[i].selected == true )
    {
    var fso, f, fc, s;
    var folderpath = tableFolders.options[i].value.substring(0,tableFolders.options[i].value.length);
    if ( folderpath.charAt(folderpath.length-1) == "\\" )
    {
    document.getElementById("backDir").value = folderpath;
    }
    else
    {
    document.getElementById("backDir").value = folderpath + "\\";
    }


    fso = new ActiveXObject("Scripting.FileSystemObject");
    f = fso.GetFolder(folderpath);
    fc = new Enumerator(f.SubFolders);
    s = "";
    for (;!fc.atEnd(); fc.moveNext())
    {
    s += fc.item();
    s += ",";
    }
    var len = tableFolders.options.length;
    while(len >= 0)
    {
    tableFolders.options.remove(len);
    len--;
    }
    var opt = "";
    var opt1 = "";
    for ( j = 0; j < folderpath.split("\\").length; j++ )
    {
    var option = document.createElement("OPTION");
    opt = opt + folderpath.split("\\")[j]+"\\";
    if ( j > 0)
    {
    opt1 = opt;
    option.value = opt1.substring(0,opt1.length-1);
    option.text = opt1.substring(0,opt1.length-1);
    tableFolders.add(option);
    }
    else
    {
    option.value = opt;
    option.text = opt;
    tableFolders.add(option);
    }

    }
    if ( tableFolders.options[0].value == tableFolders.options[1].value )
    {
    tableFolders.options.remove(1);
    }
    if ( s != "" )
    {
    var folders = s.split(",");
    for ( j = 0; j < folders.length -1; j++)
    {
    option = document.createElement("OPTION");
    option.value = folders[j];
    option.text = folders[j];
    tableFolders.add(option);
    }
    }
    }
    }
    }
    </script>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-13 10:32:0313楼 得分:0
    <input type="file" >
    有些像了。
    我想实现的是像我们安装程序时用的那种,选择一个目录,确定后就能直接把文件下载到所选目录里了。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-13 10:34:0214楼 得分:0
    我的问题还没有解决啊,结贴以后还能再给分吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foreverfoolke
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2007-10-13 17:30:1715楼 得分:0
    算了,结了吧。感觉这样只会对不起搜到次问题的朋友。。。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved