添加数据时上传图片出错

后台报错信息

ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/owep].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [/owep] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
    at com.kclm.owep.web.controller.ClazzHomeworkController.save(ClazzHomeworkController.java:48) ~[classes/:?]

页面显示

img

var testdataBsSuggest2 = $("#clazz_add").bsSuggest({
        url:"/owep/clazz/selectAllClass",
        idField:"id",
        keyField:"className",
        effectiveFields: ["className"]
    }).on('onSetSelectValue',function (e,keyword) {
        $("#clazz_add_id").val(keyword.id);
        $("#course_add").bsSuggest("destroy");
        $("#course_add").bsSuggest({
            url: "/owep/clazz/findCourseByClass?classId=" + keyword.id,
            idField: "id",
            keyField: "courseName",
            effectiveFields: ["courseName"],
        }).on('onSetSelectValue',function (e,keyword) {
            $("#course_add_id").val(keyword.id);
            $("#chapter_add").bsSuggest("destroy");
            $("#chapter_add").bsSuggest({
                url:"/owep/clazz/selectChapterByCourseId?courseId=" + keyword.id,
                idField: "id",
                keyField: "chapterName",
                effectiveFields: ["chapterName"],
            }).on('onSetSelectValue',function (e,keyword) {
                $("#chapter_add_id").val(keyword.id);
                $("#section_add").bsSuggest("destroy");
                $("#section_add").bsSuggest({
                    url:"/owep/clazz/selectSectionByChapterId?chapterId=" + keyword.id,
                    idField: "id",
                    keyField: "sectionName",
                    effectiveFields: ["sectionName"],
                }).on('onSetSelectValue',function (e,keyword) {
                    $("#section_add_id").val(keyword.id);
                })
            })
        })
    });

$('#add_sure').click(function () {
            var form = document.forms["addHomeworkForm"];
            var formData = new FormData(form);
            $.ajax({
                url:"/owep/clazz/saveHomework",
                method:"POST",
                async:true,
                data:formData,  //综合表单,使用formData来封装,不能用Serializable,否则无法提交
                dataType:"text",  //期望服务端发送给客户端的数据类型。不能写成application/json
                contentType:false,  //必需使用false,这样才能使用form表单采用multipart/form-data传输
                processData:false,
                success:function (data) {
                    //成功的回调
                    alert(data);
                    window.location.reload();
                },
                error:function (jqXHR) {
                    alert("添加失败");
                }
            });
        });
@RequestMapping(value = "saveHomework",method = RequestMethod.POST,produces = "application/json")
    @ResponseBody
    public String save(Homework homework, Integer clazzId, Integer courseId, Integer chapterId, Integer sectionId, MultipartFile workFile){

        //1.完成文件的上传
         final String originalFilename = workFile.getOriginalFilename();
        if (originalFilename != null && !originalFilename.equals("")){
            //生成一个新的文件名
            String fileName = UUID.randomUUID().toString();
            //获取原来文件的扩展名
            String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
            fileName += suffix;
            //IO流操作
            try {
                workFile.transferTo(new File(FILE_UPLOAD_DIR + File.separatorChar + fileName));
                System.out.println("上传成功,文件名为" + fileName);
            } catch (IOException e) {
                e.printStackTrace();
                //...
            }
            homework.setWorkFileName(fileName);
        }

        Clazz clazz = new Clazz();
        clazz.setId(clazzId);
        Course course = new Course();
        course.setId(courseId);
        Chapter chapter = new Chapter();
        chapter.setId(chapterId);
        Section section = new Section();
        section.setId(sectionId);
        homework.setClazz(clazz);
        homework.setCourse(course);
        homework.setChapter(chapter);
        homework.setSection(section);
        if (this.homeworkService.save(homework) > 0){
            return "添加成功";
        }else {
            return "添加失败";
        }
    }

后端好像显示这块的上传文件出错,找半天找不到

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^