Jquery Ajax文件异步上传

1.表单

<form class="layui-form" id="uploadForm">
	<div class="layui-form-item">
		<label class="layui-form-label">文件类型</label>
		<div class="layui-input-block">
		    <select name="filetype" id="filetype" lay-filter="aihao">
			<option value="0">人才信息</option>
			<option value="1" selected="">课题信息</option>
			<option value="2">论文信息</option>
		    </select>
		</div>
	    </div>
	    
	<div class="layui-form-item">
		<div class="layui-input-block">
		    <input type="file" name="file">
		</div>
	    </div>
	
	    <div class="layui-form-item">
		<div class="layui-input-block">
		    <input type="button" class="layui-btn" id="save_file" value="提交表单">
		    <input type="reset" class="layui-btn"  value="重置">
		</div>
	    </div>
</form>

2.ajax处理

//上传配置文件
    $("#save_file").click(function () {
		var filetype = $("#filetype").val();
        var formData = new FormData($("#uploadForm")[0]);
        	formData.append("filetype",filetype);
            
        	$.ajax({
                url: 'http://localhost:8085/uploadfile.do',
                type: 'POST',
                data: formData,
                async: false,//异步
                cache: false,
                contentType: false,//必须false才会自动加上正确的Content-Type
                processData: false,//必须false才会避开jQuery对 formdata 的默认处理
                success: function (returndata) {//上传成功回调函数
                    layui.use('layer', function () {
                        var layer = layui.layer;
                        layer.msg(returndata.returnMsg, {
                            icon: 1
                        });
                    });

                    setTimeout(() => {

                        closeLayui();

                    }, 400);

                },
                error: function (returndata) {
                    console.log("文件上传失败");
                }
            }); 
    });

3.后台处理代码

@RequestMapping(value="/uploadfile.do")
	@ResponseBody
	public JSONObject  fileUpLoad(String filetype,@RequestParam("file") CommonsMultipartFile  file){
		JSONObject json = new JSONObject();
		if(!file.isEmpty()){
			
			String path = "D:/upload/";
			File parent = new File(path);
			if(!parent.exists()){
				parent.mkdirs();
			}
			String fileName = file.getOriginalFilename();
			String fileType = fileName.substring(fileName.lastIndexOf("."));
			File targetFile = new File(path,new Date().getTime()+fileType);
			try {
				file.getFileItem().write(targetFile);
				
				List<List<String>> telentList = SaleorderExcel.readExcel(targetFile.getPath());
				talentinfoService.insertTalentinfo(telentList);
				System.out.println(telentList);
				json.put("returnCode", "000000");
				json.put("returnMsg", "导入成功");
				return json;
			} catch (Exception e) {
				
				e.printStackTrace();
				json.put("returnCode", "111111");
				json.put("returnMsg", "文件导入失败,请检查内容合法性");
				return json;
			}
		}	
		
		json.put("returnCode", "222222");
		json.put("returnMsg", "请选择文件");
		return json;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝文龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值