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;
	}

 

发布了82 篇原创文章 · 获赞 49 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章