java中通过绝对路径将图片存入数据库

        一般的如果通过将图片的绝对路径存入数据库,然后通过java连接数据库来调用是行不通的,因为java不支持C:\file\test.txt这类格式,这样的路径转到数据库中则会变成c:flie  test.tex。甚至有时候遇到\t还会横向跳8个空格。基于这样的情况本人想到了一个笨方法:我们可以获取了图片的绝对路径后获取其名称,然后将该图片名称存入数据库,这样就不会产生冲突了。

具体步骤如下:1.获取文件的绝对路径(JFileChooser jfc = new JFileChooser(); String  fname = jfc.getSelectedFile().getAbsolutePath())

   2.  获取文件的名称:File file1 = new File(fname);PicRoad = file1.getName();

   3. 将该图片名称存入数据库

   4. 通过标签来显示从数据库调用出来的图片(       ImageIcon pic = new ImageIcon("G:/MyEclipse/Science/Picture/"+rs.getString("PicRoad"));       JLabel viewpict = new JLabel(pic);
)        PicRoad为图片存在数据库中的属性名。  

总结:通过将路径写死从而避免了将图片的绝对路径存入数据库。以此实现绝对路径的数据库存放。

部分代码演示:

JFileChooser jfc = new JFileChooser();
    if (jfc.showOpenDialog(addGoods.this) == JFileChooser.APPROVE_OPTION) // 解释下这里,弹出个对话框,可以选择要上传的文件,如果选择了,就把选择的文件的绝对路径打印出来
    {
     // /添加图片
     System.out.println(jfc.getSelectedFile().getAbsolutePath());
     String fname = jfc.getSelectedFile().getAbsolutePath();
     // System.out.println(PicRoad);
     File file1 = new File(fname);
     PicRoad = file1.getName();
     System.out.println(file1.getName());
    }
while (rs.next()) {
       ImageIcon pic = new ImageIcon("G:/MyEclipse/Science/Picture/"+rs.getString("PicRoad"));
       System.out.println(pic);
       JLabel viewpict = new JLabel(pic);
       viewpict.setBounds(0, 0, 243, 224);
       viewpic.getContentPane().add(viewpict);
       
       rs.getString("PicRoad");
      }

     

转载于:https://my.oschina.net/kaixuan1995/blog/362503

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值