日期:2014-05-17  浏览次数:20783 次

怎么把网络图片存到数据库?


看代码:

SQL code

--图片的数据表
create table pics(
id int primary key not null identity(1,1),
pic_name varchar(32)  default 'Pic',
pic_cont varchar(32),
pic_data image 
)
go




Java code

//java程序
String filePath="http://x.limgs.cn/f1/g/110916/l201125817443114e731a7f6890c.jpg";
String sql="insert into  pics (pic_name,pic_cont,pic_data) values(?,?,?)"
PreparedStatement pstmt=conn.prepareStatement(sql);

FileInputStream fileIn=new FileInputStream(filePath);

pstmt.setBinaryStream(1,fileIn,fileIn.available());
pstmt.setString(2, "周杰伦"); 
pstmt.setString(3, "周杰伦");

pstmt.executeUpdate();
conn.commit();



抛出异常:java.io.FileNotFoundException: http:\x.limgs.cn\f1\g\110916\l201125817443114e731a7f6890c.jpg (文件名、目录名或卷标语法不正确。)

说明:如果将filePath换成"c:\\l201125817443114e731a7f6890c.jpg"这样的本地路径的话 程序是可以正确执行的
请问:怎么把网络上的图片存到数据库中,或者说怎么给网络文件建立流


恳请高手解决,先谢过了。。

------解决方案--------------------
探讨
FileInputStream fileIn=new FileInputStream(filePath);