是否有使用Netbeans(Java)将数据添加到数据库?
我想在单击选择文件按钮时首先浏览图像,然后在单击“添加”按钮时必须添加到数据库。反正有没有这样做?
答案 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();