将图像保存在特定文件夹中并在mysql中存储路径以便稍后显示

时间:2014-08-29 16:44:57

标签: java mysql swing image-processing netbeans

对于我的项目,我正在创建一个费用管理系统。用户可以从本地磁盘中选择图像文件,并在添加新费用时将其添加为附件。

上传的图像应该显示在jLabel中,然后在单击保存按钮时应该保存在项目文件夹中(比如说/ src / accounts / media),并且路径应该保存在mysql的varchar列中数据库供以后检索。

目前,我可以上传图片并在jLabel中显示图片。

有人可以帮我解决如何将图像文件保存在文件夹中并将路径存储在数据库中吗?

    JFileChooser chooser = new JFileChooser();

    FileFilter ft = new FileNameExtensionFilter("Image Files", "jpg", "png", "jpeg");
    //FileFilter ft2 = new FileNameExtensionFilter("PDF Files", "pdf");

    chooser.addChoosableFileFilter(ft);
    //chooser.addChoosableFileFilter(ft2);
    chooser.showOpenDialog(null);
    File f = chooser.getSelectedFile();
    filePath = f.getAbsolutePath().toString();

    BufferedImage img = null;
    try {
        img = ImageIO.read(new File(filePath));
    } catch (IOException e) {
        e.printStackTrace();
    }

    Image dimg = img.getScaledInstance(lblAttachment.getWidth(), lblAttachment.getHeight(), Image.SCALE_SMOOTH);


    ImageIcon icon = new ImageIcon(dimg);
    lblAttachment.setText("");
    lblAttachment.setIcon(icon);

1 个答案:

答案 0 :(得分:0)

要将文件复制到其他位置,您可以选择任何

Way1

Way2

要存储路径,请创建文件路径列写入插入查询(SQL):

prepareStatement  ps = conn.prepareStatement("INSERT INTO filePath VALUES(?, ?, ?)" );

         ps.setString(1,filePath);
         ps.set..
     //  conn, connection object

完整教程Here

修改

要将它保存在某个默认资源文件夹中,您可以获取EG的路径:

public class ClassDemo {

  public static void main(String[] args) throws Exception {

    ClassDemo c = new ClassDemo();
    Class cls = c.getClass();

    // finds resource relative to the class location
    URL url = cls.getResource("file.txt");
    System.out.println("Value = " + url);

    // finds resource relative to the class location
    url = cls.getResource("newfolder/a.txt");
    System.out.println("Value = " + url);
  }
}