1

画像のアップロードにこのコードを使用していますが、常に415のサポートされていないメディアタイプを取得します

@RequestMapping(value = "/updateImage" , method = RequestMethod.POST)
    public @ResponseBody ResponseMsg uploadFileHandler( 
            @RequestHeader(value="userid" ,required=false) String userid,
            @RequestHeader(value="name" ,required=false) String name,
            @RequestHeader(value="phone" ,required=false) Integer phone,
            @RequestBody MultipartFile multipartFile, 
            HttpServletRequest request) throws IllegalStateException, IOException {
        System.out.println("hi");
        String orgName = multipartFile.getOriginalFilename();
            orgName = CommonUtils.createUniqueFileName(orgName);

            ServletContext sc = request.getSession().getServletContext();
            String filePath = "uploadedImages/" + orgName;
            String completePath = sc.getRealPath("/") + "/" + filePath;
            File dest = new File(completePath);
            multipartFile.transferTo(dest);

            ResponseMsg responseMsg = CommonUtils.checkParam(userid, name, phone,filePath);
            if (responseMsg.getStatus().equalsIgnoreCase("True"))
                responseMsg = userService.updateProfile(userid, name, phone,filePath);
            return responseMsg;
    }
4

2 に答える 2

2

servlet-context.xmlに追加します

<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

コントローラー内

public void method(@RequestParam MultipartFile file){..}

于 2013-03-18T07:22:09.380 に答える
1
  • アプリケーションコンテキストにMultipartResolverがありますか?例: CommonsMultipartResolver
  • HTTPリクエスト本文をMultipartFileに変換するHttpMessageConverterはありますか?デフォルトでは、Springにはこれが付属していません。http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-requestbodyをお読みください
  • HTTPリクエスト全体(例:)をマッピングするのではなく@RequestBody MultipartFile multipartFile、特定のフォームフィールドのみをマッピングする方が良いようです。例:@RequestParam('someFileUpload') MultipartFile uploadedFile、これは、htmlフォームでファイル選択を使用することを前提としています。例:<input type="file" name="someFileUpload"/>
于 2013-03-18T06:13:02.200 に答える