基于Spring+AJAX的上传文件功能的实现

博主小白,贴出一些成功的代码,作为记录,不喜勿喷。

没做过调查和测试,但以下代码在Spring3.X及以后的版本里都是能用的吧。

代码如下:

1. 表单,仅实现功能,需要改样式则自行百度:

<form action="<%=mapPath%>/readIn" id="uploadForm" enctype="multipart/form-data">
	<input type="file" value="选择文件" id="file" name="file">
	<input type="button" onClick="uploadFile()" value="上传">
</form>


2. 然后是JS,使用AJAX异步上传文件:

function uploadFile(){
	var file = document.getElementById("file").value;
	if(file==null || file==""){
		alert("请选择文件!");
		return ;
	}
	var formData = new FormData($("#uploadForm")[0]);
	$.ajax({
		url:'<%=path%>/sysMgr/readIn',
		type:'POST',
		data: formData,  
		async: false,  
		cache: false,  
		contentType: false,  
		processData: false,
		success:function(resultdata){
			if(resultdata){
				$.messager.alert('操作成功','上传文件成功!','info',function(){	});//基于easyui的消息窗口
			 }else{
			   	$.messager.alert('操作失败','上传文件失败!','error',function(){	});
			 }
		 }				
	});
}


3. 后台Java代码,接收文件:

@RequestMapping("readIn")
@ResponseBody
public boolean readIn(MultipartFile file, HttpServletRequest request) { // 请求参数一定要与form中的参数名对应
	if (!file.isEmpty()) {
		System.out.println(file.getSize()); //打印文件大小
		return true;
	} else {
		return false; // 返回失败视图
	}
}


4.最后是Spring配置。注意,需要 引入包 commons-fileupload-1.3.jar ,版本号可以根据项目情况调整

<!-- 上传文件拦截,设置最大上传文件大小   10M=10*1024*1024(B)=10485760 bytes -->  
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
    <property name="maxUploadSize" value="10485760" />  
</bean>

附:html效果是这样的。。。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值