JavaEE使用Oracle数据库存放提取图片、音频文件问题

Icerain2009 2010-04-05 05:03:51
如题,我用JavaEE编写的程序,怎么使用Oracle数据库存放提取图片、音频文件?
在JavaEE里面为Oracle存取图片、音频文件怎么搞?
怎么把图片、音频文件放入Oracle数据库,然后怎么在JSP里面提取他们。
希望高手指点一下。
听说是使用blob来存放,但是不太理解怎么操作的。
...全文
455 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Icerain2009 2010-04-12
  • 打赏
  • 举报
回复
原来如此。
大家谁有JSP上传文件的插件吗?
rosesea168 2010-04-10
  • 打赏
  • 举报
回复
数据库里存链接正解!

图片音频之类,可以放到web服务器的目录下,这样可以提高效率,如果这类文件比较多,可以考虑和apache http server集成,一般不要放到数据库中,影响效率。
jiangtaohu 2010-04-10
  • 打赏
  • 举报
回复
我真的没有存过图片
只存过路径!!!!!!!
dickli1986 2010-04-08
  • 打赏
  • 举报
回复
将图片上传到服务器的指定目录下(使用IO操作),然后在数据库中保存该文件的路径,下载也一样,放到数据库中很影响效率
Icerain2009 2010-04-08
  • 打赏
  • 举报
回复
没有有网页制作经验的嘛?
Icerain2009 2010-04-06
  • 打赏
  • 举报
回复
先用FTP上传图片文件,然后记录下来对应链接?
Icerain2009 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 icerain2009 的回复:]

额,还是直接点,像这个论坛的换头像功能怎么做的。
图片文件存在哪儿?
应该是数据库吧,不可能用链接啊~
[/Quote]
额,怎么做呢?
archko 2010-04-06
  • 打赏
  • 举报
回复
为什么不可能是链接,我想用数据库的人实在是少之又少。
Icerain2009 2010-04-06
  • 打赏
  • 举报
回复
额,还是直接点,像这个论坛的换头像功能怎么做的。
图片文件存在哪儿?
应该是数据库吧,不可能用链接啊~
BearKin 2010-04-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 icerain2009 的回复:]
引用 8 楼 qingyuan18 的回复:

建议不要用blob字段,每个数据库的Clob或者Blob大字段的处理方式都千差万别,如果能用相对路径存储到项目的固定磁盘文件夹下最好,这样数据库该字段只需要一个URL链接

如果大数据量的音频视频流文件,放在数据库里读取效率比直接读磁盘要低很多,且服务器厂商的磁盘镜像,raids冗余等方式比数据库备份恢复方式在灾难恢复是要方便得多

这样……
[/Quote]
跟用什么做没关系 只要能使用BLOB属性应该就能完成的
读取文件的时候只要把文件的流输出到SERVLET或者JSP上就行了
archko 2010-04-06
  • 打赏
  • 举报
回复
真是高人。如果有1M大小的图片,放在数据库,从里面取出来,有多慢啊
Icerain2009 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qingyuan18 的回复:]

建议不要用blob字段,每个数据库的Clob或者Blob大字段的处理方式都千差万别,如果能用相对路径存储到项目的固定磁盘文件夹下最好,这样数据库该字段只需要一个URL链接

如果大数据量的音频视频流文件,放在数据库里读取效率比直接读磁盘要低很多,且服务器厂商的磁盘镜像,raids冗余等方式比数据库备份恢复方式在灾难恢复是要方便得多
[/Quote]
这样的话通过页面上传图片(比如这个论坛的更改头像)怎么做啊?
qingyuan18 2010-04-05
  • 打赏
  • 举报
回复
建议不要用blob字段,每个数据库的Clob或者Blob大字段的处理方式都千差万别,如果能用相对路径存储到项目的固定磁盘文件夹下最好,这样数据库该字段只需要一个URL链接

如果大数据量的音频视频流文件,放在数据库里读取效率比直接读磁盘要低很多,且服务器厂商的磁盘镜像,raids冗余等方式比数据库备份恢复方式在灾难恢复是要方便得多
Icerain2009 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chen_xiangguo 的回复:]

一般而言,音频和图像都是放在文件夹中的
[/Quote]
额,这个太不专业了~
你是说只是在数据库里面存一个链接?
chen_xiangguo 2010-04-05
  • 打赏
  • 举报
回复
一般而言,音频和图像都是放在文件夹中的
justchenjie 2010-04-05
  • 打赏
  • 举报
回复
对于数据,EJB跟hibernate还是差不多的,他们都是一个人领导的
Icerain2009 2010-04-05
  • 打赏
  • 举报
回复
EJB怎么操作啊?
justchenjie 2010-04-05
  • 打赏
  • 举报
回复
http://hi.baidu.com/%B2%F1%BE%A71980/blog/item/67f8334e3ab63aced0c86ac4.html,给你参考一下
hxj1225 2010-04-05
  • 打赏
  • 举报
回复
Hibernate可以对blob进行操作,用io流读取你的文件。
比如:

File file = new File("");
FileInputStream fileInputStream = new FileInputStream(file);
entity.setfile(Hibernate.createBlob(file));
entityService.save(entity);

读取:

Blob blob = entity.getfile();

在用io流转换一下输出到前台
justchenjie 2010-04-05
  • 打赏
  • 举报
回复
其实你可以存储他们的文件名,包括路径啊!按你说的来图片字段属性是 blob

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧