spring-mvc表单提交文件实例

spring-mvc储存文件

后台代码

主要通过MultipartRequest上传文件

	@RequestMapping(params = "commitFile")
	@ResponseBody
	public JSONObject commitFile(HttpServletRequest request)   throws IOException{
		String message = null;
		JSONObject j = new JSONObject ();
		message = "文件添加失败";
		j.put("success",false);
		j.put("msg",message);
		String serverurl = request.getSession().getServletContext().getRealPath(""); // 项目在容器中实际发布运行的根路径
		String realPath=serverurl+"upload";  				//实际保存路径,相对于根路径
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();

		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
			MultipartFile file = entity.getValue();		// 获取上传文件对象
			if (file!=null) {							// 判断上传的文件是否为空
								// 文件路径
				String type=null;							// 文件类型
				String fileName=file.getOriginalFilename();	// 文件原名称
				// 判断文件类型
				type=fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null;
				if (type!=null) {		// 判断文件类型是否为空
				
				
				//指定文件类型,如图片
				if ("GIF".equals(type.toUpperCase()) || "PNG".equals(type.toUpperCase())
									|| "JPG".equals(type.toUpperCase())) {		
						String trueFileName=MyUtils.generateOrdersNum()+"."+type;  // 自定义的文件名称
						//path=realPath+"diploma/"+trueFileName;  // 设置存放图片文件的路径 如有需要可以添加这个分隔符System.getProperty("file.separator")
						File dir = new File(realPath,trueFileName);
						if(!dir.exists()){
							dir.mkdirs();
						}
						//业务逻辑处理,通常是取值存库
						message = "文件添加成功";
						j.put("success",true);
				} else {
						message = "文件类型不符合要求";
				}
				}else {
					message="文件类型为空";
				}
			}else {
				message="文件为空";
			}
		}
		j.put("msg",message);
		return j;
	}

前端代码

简单的form表单提交文件
需要导入jquery包

<script type="text/javascript" src="jquery-1.9.1.js"></script>
<body>
<form action="commitFile.do" method="post" id="myForm">
   <input type="file" name="file" onchange="document.getElementById('fileName').value=this.files[0].name">
   <input type="text" id="fileName" style="width:120px;height=30px"  placeholder="请上传文件" disabled="disabled">
   <input type="submit" value="提交">
</form>
</body>
<script type="text/javascript">

        var form=document.getElementById('myForm');
        form.onsubmit=function(){
            var wenjian=document.getElementById('fileName').value;
            if(!fileName){
                alert("请上传文件")
                return false;
            }else{
                $(this).ajaxSubmit(function(data) {
                    alert(JSON.parse(data).msg);
                });
                return false;
            }
        }
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值