对于我的项目,我正在创建一个费用管理系统。用户可以从本地磁盘中选择图像文件,并在添加新费用时将其添加为附件。
上传的图像应该显示在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);
答案 0 :(得分:0)
要将文件复制到其他位置,您可以选择任何
要存储路径,请创建文件路径列写入插入查询(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);
}
}