java jsp上傳文件

這裏介紹一下jsp的文件上傳,前臺使用jquery插件ajaxfileupload.js,後臺使用MultipartFile

這個也沒有什麼好介紹的,看一下代碼:

html代碼:

<div id="upload" class="upload_div" >
	<input type="file" id="file" name="file" />
    <input type="button" id="upload" value="上傳文件" οnclick="fileUpload()" >
    <input type="button" id="cancelBtn" value="取消" οnclick="uploadCancel()" />
</div>

js代碼:

function fileUpload() {
	var fileValue = $("#file").val();
	if (fileValue == null || fileValue == "" || fileValue == 'undefine') {
		alert("請選擇文件");
		return;
	}
	$.ajaxFileUpload({
		url : '/officeofriver/v1/supervisionPerson/upload?uuid=' + userUuid,
		secureuri : false,
		fileElementId : 'file',
		dataType : 'text',
		success : function(data) {
			$("#hiddenDivId").css("display", "none");
			$("#upload").css("display", "none");
			$("#file").val("");
			alert(data);

		},
		error : function() {

		}
	});
}

java代碼:

@RequestMapping("/upload")
	@ResponseBody
	public Map<String, Object> fileUpload(@RequestParam(value = "file", required = false) MultipartFile file,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		String path = request.getSession().getServletContext().getRealPath("upload");
		String fileName = file.getOriginalFilename();
		File targetFile = new File(path, fileName);
		String uuid = request.getParameter("uuid");
		// 設置文件保存的路徑 提供給後面的解析使用
		request.getSession().setAttribute("fileNameSpare", fileName);
		request.getSession().setAttribute("filePathSpare", path);
		try {
			file.transferTo(targetFile);
		} catch (Exception e) {
			logger.error(e.getMessage());
		}
		Map<String, Object> resultMap = supervisePersonService.parseExcel(path + File.separator + fileName, uuid);
		@SuppressWarnings("unchecked")
		Map<String, Object> errorRows = (Map<String, Object>) resultMap.get("errorRows");
		return errorRows;

	}

一個文件上傳就搞定了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章