如何使用Struts2在blob类型列中的sql中保存图像?

时间:2012-04-25 09:10:51

标签: java mysql struts2 blob

我有一个Struts2 jsp页面我们发送一个图像,临时文件路径在表单提交后转到我的java类但我不知道如何通过将其更改为Blob类型来保存db中的路径..请考虑这个图像列在我的数据库表中是blob类型..

以下是表单提交后我在Javaclass中获得的输出:

我的图片路径:

F:\ Documents and Settings \ software.netbeans \ 7.0 \ apache-tomcat-7.0.11_base \ work \ Catalina \ localhost \ AIGSA \ upload__214d4f3e_136e8b74d9c__7fff_00000021.tmp 105542

文件名: * Winter.jpg

代码:

for (File u: repImage) 
{
    System.out.println("*** "+u+"\t"+u.length());
}

int saveToDb= mo.addMembers(memberName, repImage);

如何将表单Image发送到此{repImage Name,以便保存它以便我的数据库

2 个答案:

答案 0 :(得分:0)

我不确定,但请尝试:

int saveToDb= mo.addMembers( memberName, repImage.getBytes() );

答案 1 :(得分:0)

如果我理解您的问题,您希望将二进制数据存储在数据库中。我首先说这是一个坏主意,原因有很多。更好的方法是引用您可以在Web应用程序或文件系统中直接使用的相对路径。更好的是,只需将引用存储在Amazon / S3中要保存/使用它的位置。

无论如何,要回答您的问题,您需要使用ByteArrayOutputStream