选中一个文件夹,按照文件夹的层次来上传所有文件

时间:2024-03-29 12:58:43

    现在项目里有个需求,是选中一个文件夹,将里面的数据上传到服务器,且文件夹的层次不变。上传以前只传过图片,文档文件,而且一次只传一个。我找了许多资料,问了一些大佬,好像只有俩种,

一种是只能支持即浏览器的,需要修改当前JSP为可信任网站,但优点是可以选中文件夹,找了好久,百度一般只给出选中文件的文件标签,这是一种可以选中文件夹的。

<%@ page language =“ java ”contentType =“ text / html; charset = UTF-8 ”pageEncoding =“ UTF-8 ”%> 
<!DOCTYPE HTML PUBLIC “ -  // W3C // DTD HTML 4.01 Transitional // EN “”http://www.w3.org/TR/html4/loose.dtd“ >
 <html>
 <head>     <meta http-equiv = ”Content-Type“ content = ”text / html; charset = UTF-8 “ >
     <script type = ”text / javascript“ src = ”js / jquery-1.8.3.js“ > </ script>
     <script type = “text / javascript” >
 函数 browseFolder
        (){
             try {
                 var Message = “请选择指定的文件夹” ;  //选择框提示信息
 var Shell = new ActiveXObject(“Shell.Application”;
VAR文件夹= Shell.browseForFolder(0 消息即0x0040 0×11; //起始目录为:我的电脑
                 // var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
 if(Folder!= null){                                                
                    Folder = Folder.items();  //返回FolderItems对象
                     Folder =文件夹。item();  //返回Folderitem对象
                     Folder = Folder.Path ;   //返回路径
                     // if(Folder.charAt(Folder.length  -  1)!=“\\”){
                     // Folder = Folder +“\\”;
                    //}
 alert(Folder);
// <form action =“setScriptLibrary”method =“post”>
 $“#path”)。val(文件夹);
// Ajax调用处理
 $post'setScriptLibrary(这是控制)'                                                                                                    路径:文件夹} 功能(数据){
                         警报(数据);
if(data == 0){
                                 alert“数据初始化成功”;
} else {
                                 alert“数据初始化失败”                                                                                
                            }
                        } 'json';
                }
            } 捕获(E){
                 警报(例如消息;
            }
        }
    </ script>
 </ head>
 <body>
 --------------------------------------- -----------------------





<h1>选择指定的数据源</ h1>
 <table>
     <tr>
         <td>选择导入数据源:</ td>
         <td> <input id = “path” type = “text” name = “path” size = “30” readonly = “readonly” > </ td>
         <td> <input type = “button” value = “选择” onclick = browseFolder()> </ td>
     </ tr>
 </ table>
-------------------------------------------------- ------------
 </ body>
 </ html>

这个代码是选中文件夹,并返回文件夹的路径,当然了,你还可以获取其他的,我只需要有这个路径和有这个选中文件夹的动作就行。

为修改可信任的的英文先选中一个文件夹,按照文件夹的层次来上传所有文件点击那个齿轮后,选择互联网选项

选中一个文件夹,按照文件夹的层次来上传所有文件

再点自定义级别后就是下面这个样子,选中下面这项,选中启用

选中一个文件夹,按照文件夹的层次来上传所有文件

这样就有选中文件夹的动作,然后根据文件夹路径

我们就可以获取所有文件夹跟文件,文件就用

HttpURLConnection的

上传到服务器,文件夹就直接判断是否存在,不存在就创建。


第二种就是引导的一个插件,专门针对文件夹的,地址是这个

http://plugins.krajee.com/file-folder-upload-demo#folder-upload-3

这个的话,就是没有文件夹的层次,所以不是我想要的,但是这文件夹的界面确实好看,以后说不定用的上.


下一篇我会记录,

我传出一个路径,这个路径是服务器上的一个文件夹,我需要根据这个路径来下载所有这个文件夹里的文件。