文件夹内多文件上传到服务器

文件夹上传至服务器

希望可以给你一点帮助

直接上代码
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>

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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值