文件上传
@RequestMapping(value = "/doImportExcel", method = RequestMethod.POST)
@ApiOperation(value = "上传excel")
public Map<String, Object> doUpload(@RequestParam("file") MultipartFile file) {
Map<String, Object> result = new HashMap<String, Object>();
String fileName = "";
try {
if (file != null) {
fileName = file.getOriginalFilename();
String sname = fileName.substring(fileName.lastIndexOf("."));
String timeStamp = new SimpleDateFormat("yyyy-MM-ddHHmmssSSS").format(new Date());
String path = "D:\\" + timeStamp + fileName + sname;
file.transferTo(new File(path));
}
result.put("statusCode", "200");
result.put("message", "上传成功!");
result.put("filename", fileName);
} catch (Exception ex) {
result.put("statusCode", "300");
result.put("message", "上传失败:" + ex.getMessage());
}
return result;
}
文件下载
@RequestMapping(value = "/downloadTemplate", method = RequestMethod.GET)
public String downLoad(HttpServletResponse response) throws UnsupportedEncodingException {
String filename = "项目导入模板.xlsx";
String filePath = "D:\\java\\workreport";
File file = new File(filePath + "/" + filename);
if (file.exists()) {
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment;fileName=" + java.net.URLEncoder.encode(filename, "UTF-8"));
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
OutputStream os = null;
try {
os = response.getOutputStream();
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer);
i = bis.read(buffer);
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("----------file download---" + filename);
try {
bis.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return "success";
}