我需要接收前端formdata数据,这个formdata里面可能有file文件也可能没有,请问怎么实现?

/**
 * form * @param request
 * @return
 */
 @RequestMapping(value = "/v2/code-task", method = {RequestMethod.POST})
    public ResponseData insertCodeTaskForm(HttpServletRequest request, @RequestPart(value = "file") MultipartFile file) {
        String code = "500";
 String status = "fail";
 String message = "fail";
 String detail = "";
 JSONObject jsonTechnologyArticle = JSON.parseObject("{}");
 String title = request.getParameter("title");
 String content = request.getParameter("content");
 CodeTask codeTask = new CodeTask();
 logger.info("file == " + file);
 try {
            /*
 * 这段代码执行完毕之后,图片上传到了工程的跟路径; */ BufferedOutputStream out = new BufferedOutputStream(
                    new FileOutputStream(new File(
                            file.getOriginalFilename())));
//            logger.info(file.getOriginalFilename());
 out.write(file.getBytes());
 out.flush();
 out.close();
 logger.info("insertCodeTaskForm ==" + request.getParameter("title"));
 codeTask.setTitle(title);
 codeTask.setTitle(content);
 codeTask.setTaskCover(file.getOriginalFilename());
 codeTask.setUserID(2);
 Integer idTask = codeTaskService.insertTask(codeTask);
 code = "200";
 status = "success";
 message = "success";
 jsonTechnologyArticle.put("taskId", codeTask.getId());
 detail = "等待审核中";
 } catch (FileNotFoundException e) {
            e.printStackTrace();
 logger.info("上传失败," + e.getMessage());
 } catch (IOException e) {
            e.printStackTrace();
 logger.info("上传失败," + e.getMessage());
 }
        ResponseData responseData = ResponseUtility.handleData(
                code, status, message,
 detail, jsonTechnologyArticle);
 return responseData;
 }
2021-03-22 17:19:41.570 [http-nio-9091-exec-1] INFO  [173] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-03-22 17:19:41.570 [http-nio-9091-exec-1] INFO  [521] - Initializing Servlet 'dispatcherServlet'
2021-03-22 17:19:41.583 [http-nio-9091-exec-1] INFO  [543] - Completed initialization in 13 ms
2021-03-22 17:19:41.690 [http-nio-9091-exec-1] WARN  [194] - Resolved [org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part 'file' is not present]
阅读 1.9k
1 个回答
public ResponseData insertCodeTaskForm(HttpServletRequest request, @RequestParam(required = false) MultipartFile file) {

@RequestParam(required = false) 可传可不传
@RequestParam(required = true) 必须传 默认是true 必须传

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题