2013-03-15 52 views
0

我用实体模型使用private CommonsMultipartFile filedata;使用set和get方法 而我使用此代码如何上传和在春季和MySQL数据库存储的图像格式

MultipartFile file = inpatient.getFiledata(); 
    String filename=null; 
    InputStream inputstream=null; 
    OutputStream outputstream=null; 
    System.out.println("file size is " + file.getSize()); 
    filename=request.getRealPath("")+"/images/"+ file.getOriginalFilename(); 

     outputstream=new FileOutputStream(filename); 
     System.out.println("fileName:" + file.getOriginalFilename()); 



     int readBytes = 0; 
     byte[] buffer = new byte[10000]; 

     while ((readBytes = inputstream.read(buffer, 0, 10000)) != -1) { 
      outputstream.write(buffer, 0, readBytes); 
     } 
     outputstream.close(); 
     inputstream.close(); 


     inpatientService.save(inpatient); 

使用控制器类,但我的脸存储在我的sql数据库中,我可以在mysql中使用什么样的数据类型。否则任何格式。

+0

为什么你需要将图像存储到数据库中?为什么不使用FTP或将其放在本地存储上? – ClydeFrog 2013-03-15 08:12:45

回答

0

是的,您应该将图像名称保存在您的数据库中,并在特定路径上传相同的图像。每次当您需要通过获取姓名表单数据库并使用 特定路径+图像名称来显示或访问此图像时。 在这里,你必须使用CommansMultipartFile像:比你必须定义形式attrbute ENCTYPE =“的multipart/form-data的”

import org.springframework.web.multipart.commons.CommonsMultipartFile; 

In your POJO's feild like: 

private CommonsMultipartFile imagefiledata; 

科瑞以上属性setter getter和如果u使用文件标记在JSP上传图片像:

<form:form action="createevent.so" method="post" commandName="event" enctype="multipart/form-data" > 

希望这会对你有帮助。如果你的问题解决了,请欣赏。

相关问题