论文管理系统文件上传下载接口 - Java Spring Boot
论文管理系统文件上传下载接口 - Java Spring Boot
本文介绍了使用Java Spring Boot开发的论文管理系统文件上传下载接口,包括任务文件、论文文件、word文件等的上传和下载功能,以及邮件通知机制。
1. 上传任务文件
// 上传任务文件
@RequestMapping(value = "/uploadTask", method = RequestMethod.POST)
@ResponseBody
public Object uploadTask(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) {
if (multipartFile.isEmpty()) {
return ResultUtil.success("上传失败,请选择文件后上传!");
}
// 获得原始后缀
String suf = multipartFile.getOriginalFilename().split("\.")[1];
String thesisNo = request.getParameter("thesisNo");
String thesisTitle = request.getParameter("thesisTitle");
String fileName = multipartFile.getOriginalFilename();
// 调用上传工具类进行文件上传
boolean flag = UploadFileUtil.uploadFile(multipartFile);
// 文件上传成功
if (flag) {
// 修改数据库
studentTeacherRelationService.updateTaskUrlByThesisNo(fileName, thesisNo);
StudentTeacherRelation studentTeacherRelation = studentTeacherRelationService.getInfoByThesisNo(thesisNo);
// 发送邮件通知学生
mailUtils.sendEmail(mailFromAccount, studentTeacherRelation.getStudentEmail(), "通知", "你所选取的论文《" + thesisTitle + "》教师已经上传模板");
return ResultUtil.success("文件上传成功!");
}
return ResultUtil.error("文件上传异常!");
}
2. 上传论文文件
// 上传论文文件
@RequestMapping(value = "/uploadThesis", method = RequestMethod.POST)
@ResponseBody
public Object uploadThesis(@RequestParam("file") MultipartFile multipartFile, HttpServletRequest request) {
if (multipartFile.isEmpty()) {
return ResultUtil.success("上传失败,请选择文件后上传!");
}
// 获得原始后缀
String suf = multipartFile.getOriginalFilename().split("\.")[1];
String thesisNo = request.getParameter("thesisNo");
String thesisTitle = request.getParameter("thesisTitle");
String fileName = multipartFile.getOriginalFilename();
try {
// 调用上传工具类进行文件上传
boolean flag = UploadFileUtil.uploadFile(multipartFile);
// 文件上传成功
if (flag) {
// 修改数据库
studentTeacherRelationService.updateThesisUrlByThesisNo(fileName, thesisNo);
StudentTeacherRelation studentTeacherRelation = studentTeacherRelationService.getInfoByThesisNo(thesisNo);
// 发送邮件通知教师
mailUtils.sendEmail(mailFromAccount, studentTeacherRelation.getTeacherEmail(), "通知", "你所发布的论文《" + thesisTitle + "》学生已经上传论文");
return ResultUtil.success("文件上传成功!");
}
} catch (Exception e) {
LOG.info("文件上传异常,e={}", e);
}
return ResultUtil.error("文件上传异常!");
}
3. 下载任务文件
// 下载任务文件
@RequestMapping(value = "/downloadTask")
public void uploadTask(@RequestParam("thesisNo") String thesisNo, HttpServletResponse response) {
try {
StudentTeacherRelation studentTeacherRelation = studentTeacherRelationService.getInfoByThesisNo(thesisNo);
String fileName = studentTeacherRelation.getTaskUrl();
// 调用下载工具类进行文件下载
boolean flag = UploadFileUtil.downloadFile(fileName, response);
if (flag) {
// 发送邮件通知教师
mailUtils.sendEmail(mailFromAccount, studentTeacherRelation.getTeacherEmail(), "通知", "你所发布的论文《" + studentTeacherRelation.getThesisTitle() + "》学生已经下载模板");
}
} catch (Exception e) {
LOG.info("==================文件下载异常,e={}==================", e);
}
}
4. 下载论文文件
// 下载论文文件
@RequestMapping(value = "/downloadThesis")
public void uploadThesis(@RequestParam("thesisNo") String thesisNo, HttpServletResponse response) {
try {
StudentTeacherRelation studentTeacherRelation = studentTeacherRelationService.getInfoByThesisNo(thesisNo);
String fileName = studentTeacherRelation.getThesisUrl();
// 调用下载工具类进行文件下载
boolean flag = UploadFileUtil.downloadFile(fileName, response);
if (flag) {
// 发送邮件通知学生
mailUtils.sendEmail(mailFromAccount, studentTeacherRelation.getStudentEmail(), "通知", "你所选取的论文《" + studentTeacherRelation.getThesisTitle() + "》老师已经下载论文");
}
} catch (Exception e) {
LOG.info("==================文件下载异常,e={}==================", e);
}
}
5. 下载word文件
// 下载word文件
@RequestMapping(value = "/downloadWord")
public void downloadWord(@RequestParam("filename") String filename, HttpServletResponse response) {
// 调用下载工具类进行文件下载
boolean flag = UploadFileUtil.downloadFile(filename, response);
if (flag) {
LOG.info("==================文件下载成功==================");
}else{
LOG.info("==================文件下载异常==================");
}
}
6. 上传word文件
// 上传word文件
@RequestMapping(value = "/uploadWord", method = RequestMethod.POST)
@ResponseBody
public Object uploadWord(@RequestParam("file") MultipartFile file) {
// 调用上传工具类进行文件上传
boolean flag = UploadFileUtil.uploadFile(file);
if (flag) {
LOG.info("==================文件上传成功==================");
return ResultUtil.success("文件上传成功!");
}else{
LOG.info("==================文件上传成功==================");
return ResultUtil.error("文件上传成功!");
}
}
总结
本文介绍了论文管理系统中文件上传下载接口的实现方法,包括上传任务文件、论文文件、word文件,以及下载文件等功能。同时,也介绍了邮件通知机制,方便用户及时了解文件上传下载状态。
希望本文能够帮助读者更好地理解和开发文件上传下载接口。
原文地址: https://www.cveoy.top/t/topic/kSNl 著作权归作者所有。请勿转载和采集!