您的位置:首页 > 其它

用form表单上传

2016-04-08 09:30 99 查看
jsp页面:

<div id="file-window" class="easyui-window" style="display: none;">
<form action="${ctx}/office/up" method="post" enctype="multipart/form-data" id="uploadFile"><!--enctype="multipart/form-data"  上传必须写  controller必用  MultipartFile file 来接 -->
<table>
<tr>
<td>第一步:选择要导入的excel文件</td>
</tr>
<tr>
<td>
<input type="file" name="fileOffice" id="fileOffice" class="easyui-validatebox"style="display: none;"/><!--name="fileOffice"必须与controller对应的参数名相同 @RequestParam(value = "fileOffice") MultipartFile file -->
<input type="button"  value="选择文件" onclick="choseFile();"/>
</td>
</tr>
<tr>
<td>第二步:开始上传</td>
</tr>
<tr>
<td><input type="button"  value="开始上传" onclick="up();"/></td>
</tr>
<tr>
<td>第三步:导入数据</td>
</tr>
<tr>
<td><input type="button"  value="导入数据" onclick="refash();"/></td>
</tr>
</table>
</form>
</form>
</div>


controller java 页面

@RequestMapping(value = "/office/up", method = RequestMethod.POST)
public String uploadOffice(HttpServletRequest request,
HttpServletResponse response,
@RequestParam(value = "fileOffice") MultipartFile file)
throws IllegalStateException, IOException {

// User user = request.getParameter(user.getRealName());
String[] cols = { "seq", "office", "address", "postcode", "manager",
"mobile", "telephone", "fax"};
if (!file.isEmpty()) {

// 文件保存路径
String filePath = request.getSession().getServletContext()
.getRealPath("/")
+ "upload/" + file.getOriginalFilename();

File targetFile = new File(filePath, file.getOriginalFilename());
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
file.transferTo(targetFile);
List<Office>  officeList = ExcelUtil.importExcel(Office.class,
FileUtil.getFileStream(targetFile), cols,
FileUtil.getExcelFileType(targetFile));
if(officeList.size() == 0){
return "2";
}else{
if (officeService.uploadOffice(officeList)) {
return "1";
} else {
return "3";
}
}
} else {
return "2";
}

}


注意:此处应用到了上传工具。工具地址是:

https://github.com/hyberbin/J-Excel
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: