用Java能不能把一张图片存到MySQL数据库中啊

Filefile=newFile("f:\\image.jpg");FileInputStreamin=newFileInputStream(file);intsize=... File file = new File("f:\\image.jpg");
FileInputStream in = new FileInputStream(file);
int size = (int) file.length();
byte data[] = new byte[size];
in.read(data);
in.close();

比如我这样把图片存到data里面了,怎么样把data里边的内容存到数据库呢?
我想这样设计表的字段:
filename form data
第一个字段存文件名,第二个字段存格式,前两个字段好设置,直接用VARCHAR就应该可以了,但字段data用什么格式呢,而且不同的图片大小不一,它的长度要设置成多少呢?

以后想恢复的话想用下面的语句恢复:
data=res.getString("data"); (res是ResultSet型,是通过查询返回的数据)
filename=res.getString("name");
form=res.getString("form");
filename=filenaeme+"."+form;
FileOutputStream out = new FileOutputStream(filename);
out.write(data);
out.close();

问题是:res.getString("data");得到的是字符串,怎么转成byte类型呢?
求高手解答,小弟感激不尽。
展开
 我来答
kitencx
2013-10-24 · TA获得超过440个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:211万
展开全部
可以,用BLOB,但是不推荐这么做,保存路径比较好
追问
保存路径是直接把路径存在一个字段里吗?
那以后想用怎么用啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daowojia
2013-10-24 · TA获得超过1274个赞
知道小有建树答主
回答量:499
采纳率:44%
帮助的人:168万
展开全部
MySQL 不是文本类数据存储,不能直接存储图片和文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贪杯江湖
2013-10-24
知道答主
回答量:28
采纳率:0%
帮助的人:26.6万
展开全部
数据库中使用blob字段。 不过建议还是存储图片路径吧,数据库的输出流慢的多
追问
保存路径是直接把路径存在一个字段里吗?
那以后想用图片怎么用啊
追答
用varchar  类型的字段,将文件路径(字符串)保存到数据库中,至于文件本身,需要另外创建文件夹,保存到本地磁盘,或者服务器的磁盘,用的时候就根据这个路径把文件读取出来,读取速度 比数据库的要快的多,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式