首页数据库java上传图片到数据库,java如何将图片保存在数据库中

java上传图片到数据库,java如何将图片保存在数据库中

编程之家2023-10-16114次浏览

大家好,关于java上传图片到数据库很多朋友都还不太明白,今天小编就来为大家分享关于java如何将图片保存在数据库中的知识,希望对各位有所帮助!

java上传图片到数据库,java如何将图片保存在数据库中

如何在Java程序中选择添加图片,再存到数据库中

存储图片:

//加载驱动程序类

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");

//建立数据库联机,其中denglu为数据库名,sa为连接数据库的帐号及密码。

Statement stmt=con.createStatement();//建立Statement对象

java上传图片到数据库,java如何将图片保存在数据库中

FileInputStream str=new FileInputStream(filename);//图片文件路径

String sql="insert into picturenews(id,image) values(?,?,?)";

PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setString(1,id);//ID号

pstmt.setBinaryStream(2,str,str.available());//图片数据

pstmt.execute();

java上传图片到数据库,java如何将图片保存在数据库中

//将数据存入数据库

out.println("Success,You Have Insert an Image Successfully");

图片读取:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");

Statement stmt=con.createStatement();

ResultSet rs=null;

String sql="select image from picturenews WHERE id="+id;

rs=stmt.executeQuery(sql);

if(rs.next()){

//图片输出的输出流

InputStream in= rs.getBinaryStream("image");

byte b[]= new byte[0x7a120];

for(int i= in.read(b); i!=-1;)

{

//将缓冲区的输入输出到页面

in.read(b);

}

}

/**

*获得数据后可以按照自己的方法进行处理或者显示

*/

JLabel label=new JLabel(new ImageIcon(b));//用JLabel进行显示

.....

Java web 问题图片怎么存储到数据库。

packageshop.car.control;

importjava.io.IOException;

importjava.io.PrintWriter;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importjavax.servlet.jsp.JspFactory;

importjavax.servlet.jsp.PageContext;

importshop.car.model.GoodService;

importcom.jspsmart.upload.SmartUpload;

importcom.jspsmart.upload.SmartUploadException;

publicclassImageInputextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

this.doPost(request,response);

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

PrintWriterout=response.getWriter();

PageContextpageContext=null;

JspFactoryjsp=null;

//实例化上载bean

SmartUploadmySmartUpload=newSmartUpload();

jsp=JspFactory.getDefaultFactory();

pageContext=jsp.getPageContext(this,request,response,"",true,

8192,true);

//初始化

mySmartUpload.initialize(pageContext);

//设置上载的最大值

mySmartUpload.setMaxFileSize(500*1024*1024);

//设定允许上传的文件(通过扩展名限制)

mySmartUpload.setAllowedFilesList("jpg");

//上载文件

try{

mySmartUpload.upload();

}catch(SmartUploadExceptione2){

//TODOAuto-generatedcatchblock

e2.printStackTrace();

}

intcount=0;

try{

count=mySmartUpload.save("/upload",SmartUpload.SAVE_VIRTUAL);

}catch(SmartUploadExceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

out.println(count+"个文件上传成功!<br>");

out.println("TEST="+mySmartUpload.getRequest().getParameter("TEST")

+"<BR><BR>");

//循环取得所有上载的文件

for(inti=0;i<mySmartUpload.getFiles().getCount();i++){

//取得上载的文件

com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(

i);

if(!myFile.isMissing()){

//取得上载的文件的文件名

StringmyFileName=myFile.getFileName();

//取得不带后缀的文件名

Stringsuffix=myFileName.substring(0,myFileName

.lastIndexOf('.'));

//取得后缀名

Stringext=mySmartUpload.getFiles().getFile(0).getFileExt();

//取得文件的大小

intfileSize=myFile.getSize();

//保存路径

Stringaa=request.getRealPath(request.getServletPath())

+myFileName;

Stringtrace=aa+myFileName;

Strings=newString(trace.getBytes("ISO-8859-1"),"utf-8");

//取得别的参数

Stringexplain=(String)mySmartUpload.getRequest()

.getParameter("text");

Stringsend=(String)mySmartUpload.getRequest().getParameter(

"send");

//将文件保存在服务器端

try{

myFile.saveAs(trace,SmartUpload.SAVE_PHYSICAL);

}catch(SmartUploadExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

//下面的是将上载的文件保存到数据库中

//将文件读到流中

java.io.Filefile=newjava.io.File(s);

java.io.FileInputStreamfis=newjava.io.FileInputStream(file);

out.println(file.length());

GoodService.addGoods(fis,file);

out.println(("上载成功!!!").toString());

}else{

out.println(("上载失败!!!").toString());

}

}//与前面的if对应

out.flush();

out.close();

}

}

java如何将图片保存在数据库中

一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。

至于如何去数据库取路径这个就是简单的db操作。

加载驱动类:

Class.forName(DBDriver);

获取连接:

Connection conn= DriverManager.getConnection(url,username,password);

创建操作对象:

PreparedStatement stmt= con.prepareStatement(sql);

执行操作:

ResultSet rs= stmt.executeQuery();

遍历结果:

List list= new ArrayList();

while(rs.next()){

//具体操作,通常用rs.getString(name)取值

Image img= new Image();//图片类对应你数据库中图片表格

img.setSrc(rs.getString("src"));//假设你数据库中image表中图片地址字段是src

list.add(img);

}

记得关闭资源:

rs.close();

stmt.close();

con.close();

看你的意思是已经取出来了不知道怎么显示:

你取出来之后可以把图片放在一个list里面然后去页面上遍历这个list

<c:forEach var="chakan1" items="list">

<tr>

<td>

<img src="${chakan1.src}"/>

</td>

</tr>

</c:forEach>

大致应该是这样

关于本次java上传图片到数据库和java如何将图片保存在数据库中的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

恋西游 tfboys(TFBOYS的恋西游歌词)公司域名查询(怎么通过公司名查旗下所有备案的域名)