我怎样才能在spring和mysql数据库中上传和存储图像格式

时间:2013-03-15 06:49:00

标签: spring-mvc

我使用set和get方法使用实体模型使用private CommonsMultipartFile filedata;  我使用此代码使用控制器类

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中使用什么样的数据类型。否则任何格式。

1 个答案:

答案 0 :(得分:0)

是的,您应该在数据库中保存图像名称,并在特定路径上传相同的图像。每当您需要通过获取名称表单数据库并使用时显示或访问此图像 某路径+图片名称。 在这里你必须使用CommansMultipartFile:

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

In your POJO's feild like:

private CommonsMultipartFile imagefiledata;

使用上面的属性创建setter getter,如果你使用jsp上的文件标签上传图像,你需要定义表格attrbute enctype =“multipart / form-data”,如:

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

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