使用netbeans将图片添加到数据库

时间:2015-06-05 13:22:56

标签: java database image netbeans upload

是否有使用Netbeans(Java)将数据添加到数据库?

我想在单击选择文件按钮时首先浏览图像,然后在单击“添加”按钮时必须添加到数据库。反正有没有这样做?

1 个答案:

答案 0 :(得分:0)

要将图像存储在数据库中,CLOB或BLOB是用于在DB中保存图像的列的类型。 刚刚和IDE中的Netbeans你需要jsp(网页)或java swing(JFileChooser)接受图像然后你需要编写java代码来保存图像在DB中。一些链接供参考。

在JSP中浏览并选择要上传的文件,您需要在表单中使用HTML字段。如HTML规范中所述,您必须使用POST方法,并且必须将表单的enctype属性设置为“multipart / form-data”。

<form action="upload" method="post" enctype="multipart/form-data">
    <input type="imageName" name="imageName" />
    <input type="image" name="image" />
    <input type="submit" />
</form>

现在这个输入相同,即DB中的InputStream

PreparedStatement#setBinaryStream(). 
preparedStatement = connection.prepareStatement("INSERT INTO tablename (imageName, image) VALUES ( ?, ?)");
preparedStatement.setString(1, imageName);
preparedStatement.setBinaryStream(2, image);

如果可能,请使用http://commons.apache.org/proper/commons-fileupload/

http://commons.apache.org/proper/commons-fileupload/using.html

编辑:根据评论添加了Swings代码

编辑:

如上所述,使用了Swings,因此发布代码以提供帮助。

JFileChooser有一个方法getSelectedFile()。哪个是文件。你可以

如果您只想允许.doc,.docx扩展名设置

 JFileChooser chooser = new JFileChooser();
 chooser.setDialogType(JFileChooser.SAVE_DIALOG);
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
        "word docs only", "doc", "docx");
    chooser.setFileFilter(filter);

The save it as

 File selectedFile = chooser.getSelectedFile();

        try {
            String fileName = selectedFile.getCanonicalPath();
            if (!fileName.endsWith(EXTENSION)) {
                selectedFile = new File(fileName + EXTENSION);
            }
            ImageIO.write(image, FORMAT_NAME, selectedFile);
        } catch (IOException e) {
            e.printStackTrace();