将图像存储到Netbeans中的文件夹中



我正在使用filechooser从系统中进行选择。将文件夹带有打开的图像,例如IMG1,IMG2 ...,并在一次图像中将此路径存储到DB中。我使用下面的代码获取图像名称

String name = jFileChooser1.getSelectedFile().getAbsolutePath();

但我不知道如何将图像存储到文件夹中。希望任何人都可以帮助解决此问题。

我看不到将图像存储到您的项目罐中。将其保存到系统中会更有意义。但是话又说回来,为什么还这样呢?

只需将图像直接存储到数据库即可。为此,只需这样做

PreparedStatement ps=con.prepareStatement("insert into imgtable values(?)");
FileInputStream fin=new FileInputStream(fileFromChooser);  
ps.setBinaryStream(1,fin,fin.available());  
int i=ps.executeUpdate();  
System.out.println(i+" records affected"); 

update

保存到文件系统。您需要在此行中指定路径

ImageIO.write(image, "jpg",new File("C:\path\to\destination\" + file.getName()));

import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.filechooser.FileNameExtensionFilter;
public class SaveImageFile {
    public SaveImageFile() {
        final JFrame frame = new JFrame("Save Image");
        JButton saveImage = new JButton("Browse");
        saveImage.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFileChooser chooser = new JFileChooser();
                FileNameExtensionFilter filter = new FileNameExtensionFilter(
                        "JPG, GIF, and PNG Images", "jpg", "gif", "png");
                chooser.setFileFilter(filter);
                int returnVal = chooser.showOpenDialog(frame);
                if (returnVal == JFileChooser.APPROVE_OPTION) {
                    File file = chooser.getSelectedFile();
                    System.out.println("You chose to open this file: "
                            + file.getName());
                    BufferedImage image;
                    try {
                        image = ImageIO.read(file);
                        ImageIO.write(image, "jpg",new File("C:\path\to\destination\" + file.getName()));
                    } catch (IOException ex) {
                        Logger.getLogger(SaveImageFile.class.getName()).log(Level.SEVERE, null, ex);
                    }              
                }
            }
        });
        frame.add(saveImage);
        frame.setLayout(new GridBagLayout());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 300);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                SaveImageFile saveImageFile = new SaveImageFile();
            }
        });
    }
}

以下代码选择图像并将其保存到文件夹中。有关更多信息,请点击此链接如何将图像保存在文件夹和数据库路径

 JFileChooser chooser=new JFileChooser();
 chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
 int res=chooser.showOpenDialog(ImageTutorial.this);
if(res==JFileChooser.APPROVE_OPTION)
{
file=chooser.getSelectedFile();
String path=file.getAbsolutePath();
ImageIcon image=new ImageIcon(file.getAbsolutePath());
Rectangle rec=imagelbl.getBounds();
Image scaledimage=image.getImage().getScaledInstance(rec.width,rec.height,Image.SCALE_SMOOTH);
image=new ImageIcon(scaledimage);
imagelbl.setIcon(image);
imagename.setText(file.getName());
 }else
  {
  JOptionPane.showMessageDialog(null,"No new image selected");
  }

最新更新