使用SpringMVC和Hibernate将图像存储到数据库中

时间:2014-09-04 12:05:52

标签: hibernate spring-mvc

以下是使用springMVCHiberrnate尝试将图像存储到数据库时的错误消息。

无法转换类型' org.springframework.web.multipart.commons.CommonsMultipartFile'的属性值。要求的类型' java.sql.Blob'对于财产

我正在使用以下代码: -

1)在jsp中

<html><body>
<form:form  action="submitPartner1.do" commandName="partnerindividual"  enctype="multipart/form-  data" >
 <input type="file" name="image" />
<form:form>
</body>
</html>

2)Partner.java

class Partner{

 Blob image;

 //getter and setter

 }

3)在控制器类

@RequestMapping(value="/submitPartner1.do",method=RequestMethod.POST)

 public String save(@ModelAttribute("partnerindividual")Partner partnerindividual,@RequestParam("file") MultipartFile file) throws IOException{

    Blob blob=null;
        try{
       byte[] contents = file.getBytes();
     blob = new SerialBlob(contents);
          partnerindividual.setImage(blob);
        //storing into database
        service.save(partnerindividual);
       }
       catch(Exception e){e.printStackTrace();}
       System.out.println(partindi);

return "becomeapartnerContinue";

}
}

4)      在spring_config.xml

    <bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
    <property name="maxUploadSize" value="10000000" />
    </bean>

1 个答案:

答案 0 :(得分:0)

错误显示从文件字节到Blob的转换存在问题。

您可以对控制器内的save()方法进行更改吗?

替换下面的代码行

blob = new SerialBlob(contents);

        with

blob = Hibernate.createBlob(contents);