文件夹上传至服务器

希望可以给你一点帮助

直接上代码

jsp页面

<div style="text-align:center; vertical-align:middel" id="uploadFile">

<input type="file" name="file" id="file" multiple="multiple"

webkitdirectory /> <br> <br>

<button id="upload" onclick="f_upload()">上传</button>

&nbsp;&nbsp;

<button id="btnBack">返回</button>

</div>

1

2

3

4

5

6

7

function f_upload(){

var url =’<%=rootPath%>/module/impExp/ImpExpAction.do?method=dispatchImpt&code=<%=code%>’;

var paths = document.getElementById(“file”).files;

if(paths.length==0) {

alert(“请选择文件”);

return;

}

var formData=new FormData();

for(var i = 0;i<paths.length;i++){

var file=paths[i];

formData.append(paths[i].name,paths[i]);

}

$.ajax({

url : url,

cache : false,

data : formData,

type : ‘POST’,

processData : false,

contentType : false,

success : function(flag) {

if (flag != “0”) {

alert(“上传成功”);

javascript: history.back(-1);

}else{

alert(“上传失败!!!”)

}

}

});

}

//返回

function f_back() {

javascript: history.back(-1);

}

后端代码

public ActionForward dispatchImpt(ActionMapping mapping,

ActionForm form, HttpServletRequest request,

HttpServletResponse response) throws Exception {

/*

* 方法二 :

*/

ResourceBundle rb = ResourceBundle.getBundle(“config”);

String userDataHomeDir = rb.getString(“USER_DATA_HOME_DIR”) + rb.getString(“AFFIX_DIR”);

String oss = commonUtil.getCloudPath();


String codeNumber =commonUtil.getCodeNumber();

>

String code = request.getParameter("code")==null?"":request.getParameter("code");

CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();

request.setCharacterEncoding("utf-8");

MultipartHttpServletRequest multiRequest = multipartResolver.resolveMultipart(request);

//取得request中的所有文件名

Iterator<String> iter = multiRequest.getFileNames();

while(iter.hasNext()){

//取得上传文件

MultipartFile file = multiRequest.getFile(iter.next());

if(file!=null){

//取得当前上传文件的文件名称

String myFileName = file.getOriginalFilename();

//如果名称不为“”,说明该文件存在,否则说明该文件不存在

if(myFileName.trim()!=""){

//重命名上传后的文件名

String fileName = file.getOriginalFilename();

//定义文件上传路径

String dirPath=userDataHomeDir+codeNumber+code;

//阿里云存放地址

String ossPath = oss+codeNumber+code+"/"+fileName.substring(0,fileName.lastIndexOf("."))+"/"+fileName;

File dir = new File(dirPath);

if(!dir.exists()){

dir.mkdirs();

}

File localFile = new File(dir,"/"+fileName);

file.transferTo(localFile);

String uploadpath =dirPath+"/"+fileName;

System.out.println("ossPath======="+ossPath);

System.out.println("localFile==="+localFile);

System.out.println("阿里云存放路径==="+uploadpath);


}

}

}


CommonUtil.deleteDir(bd.toString());

return null;

}