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

wo_buhui 2012-05-27 01:21:56


看代码:


--图片的数据表
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程序
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"这样的本地路径的话 程序是可以正确执行的
请问:怎么把网络上的图片存到数据库中,或者说怎么给网络文件建立流


恳请高手解决,先谢过了。。
...全文
303 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wo_buhui 2012-05-28
13楼接分,结贴
回复
闻志流e师兄 2012-05-28
[Quote=引用楼主 的回复:]
FileInputStream fileIn=new FileInputStream(filePath);
[/Quote]
对于网络资源,可以用下面方式获取资源流

URL url = new URL(filePath);
InputStream inputStream = url.openStream();
回复
a-shitou 2012-05-28
oracle 有种数据类型是blob存储文件用的。。。。图片还是存路径的好,网站放到服务器上,图片上传上,一般不会有人去故意删除一些图片把?那属于管理不善。。。。
回复
a380420536 2012-05-28
数据库存路径,把图片存服务器上, 你要是非把图片存数据库里,那就用流,打成二进制,然后存进数据库,
回复
001007009 2012-05-27
test.jpg 这种是相对路径


而http就是 绝对路径了,,

不明白 楼主説的 图片怎么变成本地的图片 是什么意思?
回复
wo_buhui 2012-05-27
test是本地的吧,我想知道的是前边带http的那种图片怎么变成本地的图片,变成了本地的图片以后就无所谓 存到数据库还是存路径了,都可以实现了[Quote=引用 8 楼 的回复:]

<a href="test.jpg">test.jpg</a>

直接这样就可以了。
[/Quote]
回复
001007009 2012-05-27
<a href="test.jpg">test.jpg</a>

直接这样就可以了。

回复
wo_buhui 2012-05-27
怎么把那种图片用程序下载到本地呢?[Quote=引用 6 楼 的回复:]

保存图片就是把图片文件上传到目录中,而 数据库 中记录的仅仅是 图片的路径。
[/Quote]
回复
001007009 2012-05-27
保存图片就是把图片文件上传到目录中,而 数据库 中记录的仅仅是 图片的路径。
回复
wo_buhui 2012-05-27
[Quote=引用 4 楼 的回复:]


那连接就失效了呗,放到自己的网站里面不就行了,路径变了修改数据库键值对应的路径不就好了
[/Quote]

如果人家直接把图片删除了怎么办?
或者说 怎么用程序下载链接网页链接形式的图片
回复
wenlonghor616 2012-05-27
[Quote=引用 3 楼 的回复:]

引用 2 楼 的回复:

为什么一定要将图片直接存到数据库中呢?
可以只需要保存图片的路径啊


如果人家网站的路径变了怎么办呢??
[/Quote]
那连接就失效了呗,放到自己的网站里面不就行了,路径变了修改数据库键值对应的路径不就好了
回复
wo_buhui 2012-05-27
[Quote=引用 2 楼 的回复:]

为什么一定要将图片直接存到数据库中呢?
可以只需要保存图片的路径啊
[/Quote]

如果人家网站的路径变了怎么办呢??
回复
chenssy 2012-05-27
为什么一定要将图片直接存到数据库中呢?
可以只需要保存图片的路径啊
回复
wo_buhui 2012-05-27
自己顶一下
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告