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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章