读书人

java图片下载保存解决方法

发布时间: 2012-02-01 16:58:19 作者: rapoo

java图片下载保存

Java code
try {    java.net.URL url = new URL(weburl);//创建URL连接    URLConnection uc = url.openConnection();        InputStream is = uc.getInputStream();    String sql = "insert into zc(tupian) values(?)";    pst = conn.prepareStatement(sql);    pst.setBinaryStream(1,is);    pst.executeUpdate();    s.close(); } catch (Exception e) {    System.out.println("页面没有找到!");    }


上面的一段代码是网上下载了一张图片,然后保存到数据库mysql中,但是数据显示说
The BLOB field contains a corrupted image file.(图像文件损坏),数据库字段
格式是blob类型。但是我保存到本地硬盘上时,却可以正常显示!这是怎么回事?
求高手指点!!!

[解决办法]
一般不建议直接将大的数据保存到数据库中,你可以保存到硬盘上,然后在数据库中保存文件的路径。
[解决办法]
pst.setBinaryStream(1, is, is.available());填充式提交

[解决办法]
SQL code
INSERT into zc(tupian) values(LOAD_FILE('D:\1.jpg'));
[解决办法]
你的是网络上的资源还是本地的,Mysql一般存得是图片地址,Oracal才会存二进制。给你找的一篇文章http://eric-gcm.iteye.com/blog/937860
[解决办法]
直接保存网络上的资源还真没试过,LZ可以试着先把图片下到本地,再存入数据库,之后再把本地的图片删掉
[解决办法]
MySQL的四种BLOB类型
类型 大小(单位:字节)
  TinyBlob 最大 255
  Blob 最大 65K
  MediumBlob 最大 16M
  LongBlob 最大 4G
所以用BLOB时,图片大小如果大于65K就会出错

读书人网 >J2SE开发

热点推荐