Redian新闻
>
请问JSP/SERVLET和MYSQL如何实现照片上载和调用
avatar
请问JSP/SERVLET和MYSQL如何实现照片上载和调用# Java - 爪哇娇娃
p*p
1
网上个人资料网页,用户注册的时候可以上载照片.看个人
资料的时候能够显示照片.
请问
1 上载照片到某个目录会,如何将照片存入MYSQL数据库呢
2 如何将照片读出,然后显示在JSP网页上呢
多谢指导
avatar
c*y
2
It's fairly standard, and covered by almost all JSP/Servlet books. Or you can
google it. Basically you uses a "file" element in the html form, and when user
submit the form, your servlet will open the inputstream of the httprequest and
read the data (handling the multi-part msg).

【在 p***p 的大作中提到】
: 网上个人资料网页,用户注册的时候可以上载照片.看个人
: 资料的时候能够显示照片.
: 请问
: 1 上载照片到某个目录会,如何将照片存入MYSQL数据库呢
: 2 如何将照片读出,然后显示在JSP网页上呢
: 多谢指导

avatar
p*p
3
但是没有将照片存入数据库,和从数据库读出
都是上载到SERVER的某个路径下

can
user
and

【在 c*y 的大作中提到】
: It's fairly standard, and covered by almost all JSP/Servlet books. Or you can
: google it. Basically you uses a "file" element in the html form, and when user
: submit the form, your servlet will open the inputstream of the httprequest and
: read the data (handling the multi-part msg).

avatar
c*s
4
不知道你用什么工具处理上传文件,我一般用commons-fileupload。不管什么工具,最终
应该能拿到上传文件的InputStream。
数据库里保存文件的字段如果是LOB,它会通过OutputStream接收数据。这时只要用io包
里的Piped Stream接一下就可以存了。
如果是别的类型就更简单,把InputStream里的东西Dump出来,到内存到硬盘哪儿都可以
。永不着自己写程序,又很多工具可以帮你比如 commons-io。最后拿到文件内容的byte
array或大String,保存即可。注意把mime type,文件名等找几个字段保存起来以后用。
输出时一样,如果LOB会提供InputStream,用Piped
Stream把它连到HttpResponse里的OutputStream,别的类型直接写。注意Header里加入co
ntent type和文件名信息,你愿意的话。

【在 p***p 的大作中提到】
: 网上个人资料网页,用户注册的时候可以上载照片.看个人
: 资料的时候能够显示照片.
: 请问
: 1 上载照片到某个目录会,如何将照片存入MYSQL数据库呢
: 2 如何将照片读出,然后显示在JSP网页上呢
: 多谢指导

avatar
p*p
5
能给一顿LOB通过outputstream连接读写的例子么,




commons-io。最后拿到文件内容的byte

co

【在 c*****s 的大作中提到】
: 不知道你用什么工具处理上传文件,我一般用commons-fileupload。不管什么工具,最终
: 应该能拿到上传文件的InputStream。
: 数据库里保存文件的字段如果是LOB,它会通过OutputStream接收数据。这时只要用io包
: 里的Piped Stream接一下就可以存了。
: 如果是别的类型就更简单,把InputStream里的东西Dump出来,到内存到硬盘哪儿都可以
: 。永不着自己写程序,又很多工具可以帮你比如 commons-io。最后拿到文件内容的byte
: array或大String,保存即可。注意把mime type,文件名等找几个字段保存起来以后用。
: 输出时一样,如果LOB会提供InputStream,用Piped
: Stream把它连到HttpResponse里的OutputStream,别的类型直接写。注意Header里加入co
: ntent type和文件名信息,你愿意的话。

avatar
c*s
6
完整的例子太长,程序大概是这样。
写(假设用commons-fileupload):
org.apache.commons.fileupload.FileItem fileItem = ...;
//我的程序很多是在jakarta
turbine框架里,拿到FileItem很容易。如果你也想用commons-fileupload请参考文档,
应该不难。
InputStream fileIn = fileItem.getInputStream();
...
Statement statement = dbcon.createStatement(...)//ResultSet类型不要READ_ONLY
ResultSet rs = statement.execute(...);
...
java.sql.Blob blob = rs.getBlob("file_content"); //假设字段是Blob类型
OutputStream blobOut = blob.setBinaryStream();
org.apache.commons.io.CopyUtils.copy(fileIn,

【在 p***p 的大作中提到】
: 能给一顿LOB通过outputstream连接读写的例子么,
:
: 终
: 包
: 以
: commons-io。最后拿到文件内容的byte
: 。
: co

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。