В моих программах пользователь может сохранить изображение в MySQL с помощью Java-программы. И оно будет отображаться в Jlabel. Часть вставки изображения работает нормально. Изображение вставляется и отображается правильно. Но когда пользователь пытается его обновить, изображение не обновляется должным образом. После обновления, когда я иду и проверяю Mysql, изображения там нет. Какая-то мусорная ценность есть. Кто-нибудь может мне помочь?
//Method to get the image from the file chooser
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
jTextField1.setText(filename);
try {
File image = new File(filename);
FileInputStream fis = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
menu_image_new = bos.toByteArray();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
// Save button click event where the update query run
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Connection con = DB_Con.getConnection();
String sql = "update menu set Menu_Image='" + menu_image_new + "' where Menu_Code='" + FoodMenu_FOA.clicked + "'";
PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
st.executeUpdate();
JOptionPane.showMessageDialog(null, "Image Updated Successfully");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
//Method to display image in Jlabel
public void set_Icon_menu() {
try {
int row = menu_table.getSelectedRow();
Connection con = DB_Con.getConnection();
ResultSet rs;
String menu_id = menu_table.getModel().getValueAt(row, 0).toString();
String sql = "select Menu_Image from menu where Menu_Code='" + menu_id + "'";
PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
rs = st.executeQuery();
if (rs.next()) {
byte[] imagedata = rs.getBytes("Menu_Image");
format = new ImageIcon(imagedata);
menu_label.setIcon(format);
}
} catch (Exception e) {
}
}
Обновление изображения, сохраненного в формате mysql blob ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1777838570
Anonymous
В моих программах пользователь может сохранить изображение в MySQL с помощью Java-программы. И оно будет отображаться в Jlabel. Часть вставки изображения работает нормально. Изображение вставляется и отображается правильно. Но когда пользователь пытается его обновить, изображение не обновляется должным образом. После обновления, когда я иду и проверяю Mysql, изображения там нет. Какая-то мусорная ценность есть. Кто-нибудь может мне помочь?
//Method to get the image from the file chooser
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
jTextField1.setText(filename);
try {
File image = new File(filename);
FileInputStream fis = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte buf[] = new byte[1024];
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
menu_image_new = bos.toByteArray();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
// Save button click event where the update query run
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
Connection con = DB_Con.getConnection();
String sql = "update menu set Menu_Image='" + menu_image_new + "' where Menu_Code='" + FoodMenu_FOA.clicked + "'";
PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
st.executeUpdate();
JOptionPane.showMessageDialog(null, "Image Updated Successfully");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
//Method to display image in Jlabel
public void set_Icon_menu() {
try {
int row = menu_table.getSelectedRow();
Connection con = DB_Con.getConnection();
ResultSet rs;
String menu_id = menu_table.getModel().getValueAt(row, 0).toString();
String sql = "select Menu_Image from menu where Menu_Code='" + menu_id + "'";
PreparedStatement st = (PreparedStatement) con.prepareStatement(sql);
rs = st.executeQuery();
if (rs.next()) {
byte[] imagedata = rs.getBytes("Menu_Image");
format = new ImageIcon(imagedata);
menu_label.setIcon(format);
}
} catch (Exception e) {
}
}
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия