论文管理系统文件上传下载接口 - 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文件,以及下载文件等功能。同时,也介绍了邮件通知机制,方便用户及时了解文件上传下载状态。

希望本文能够帮助读者更好地理解和开发文件上传下载接口。

论文管理系统文件上传下载接口 - Java Spring Boot

原文地址: https://www.cveoy.top/t/topic/kSNl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录