数据库中的图片如何读取
① 读取保存在数据库里的图片JSP页面显示无法显示图片
我把你的代码稍微改造了下,我这边是可以显示图片的。代码如下:
数据库操作部分:
java">packagecom.database;
importjava.io.InputStream;
importjava.sql.*;
/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:32
*@版本号V1.0
*/
publicclassDataBaseUtil{
(){
Connectionconn=null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn=
DriverManager.getConnection("jdbc:mysql://localhost/quickstart","root","123456");
Statementstmt=conn.createStatement();
Stringsql="selectbook_imagefromtbl_bookwhereid=1";
ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
returnrs.getBinaryStream("book_image");
}
}catch(Exceptione){
System.out.println("出现异常:"+e.getMessage());
}finally{
try{
if(conn!=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
returnnull;
}
}
servlet部分:
packagecom.servlet;
importcom.database.DataBaseUtil;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
/**
*@作者王建明
*@创建日期13-10-7
*@创建时间下午12:18
*@版本号V1.0
*/
{
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
doGet(request,response);
}
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
InputStreamin=DataBaseUtil.getImageStreamFromDataBase();
OutputStreamtoClient=response.getOutputStream();
response.reset();
response.setContentType("image/jpg");//或gif
intlen=10*1024*1024;
byte[]P_Buf=newbyte[len];
inti;
while((i=in.read(P_Buf))!=-1){
toClient.write(P_Buf,0,i);
}
in.close();
toClient.flush();
toClient.close();
}
}
web.xml中的servlet配置:
<servlet>
<servlet-name>ShowImage</servlet-name>
<servlet-class>com.servlet.ShowImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowImage</servlet-name>
<url-pattern>/showImage</url-pattern>
</servlet-mapping>
页面中加载图片方式:
<imgsrc="showImage"/>
希望对你有帮助O(∩_∩)O~
② 怎么从数据库中调用图片
以上回答值得学习,如果是显示在页面上可以利用一个空的窗体,把图片的二进制流写到这个空窗体中,然后读这个窗体的流就得到了
③ php中如何从数据库中读取图片
比较普遍的方法是通过代码实现。
④ android 存在数据库中的动态图片,如何读取出来,显示在ImageView中
实现的功能为从服务器获取图片数据,在布局页面上显示。由于图片的个数是不确定的,因此采用在布局页面中定义多个ImageView来显示图片是不合理的。
(一)首先定义布局
android:id="@+id/id_layout_movie"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
(二)加载图片显示时获取到布局文件
RelativeLayout rl_Movie = (RelativeLayout) findViewById(R.id.id_layout_movie);
(三)依次循环服务器获取的图片数据,一张一张设置图片显示的位置
//newWidth为图片显示的宽度,newHeight为图片显示的高度
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams( newWidth, newHeight);
设置lp1.leftMargin和lp1.topMargin的值
(四)最后设置rl_Movie.addView(iv, lp1)将图片加入布局文件中
⑤ C#怎样读取数据库中的图片(看清说明再回答!)
这个我做过,流程就是首先新建一个页面用于输出图像,将数据库中的二进制数据流读取到字节数组中,再定义基于字节数组的内存流,再定义图片对象,从内存流中生成图片,输出到一个新建页面上,在需要的页面上,定义image控件,imageurl就指向这个页面,当然了,得传一个参数,就是你要查询的条件啊,这样这个页面才会动态的输出不同的图片。
以下是读取图片的代码:
/// <summary>
/// 显示图片
/// </summary>
/// <param name="sql"></param>
protected void LoadImage(string sql)
{
DataOperate dt = new DataOperate();//操作类的实例
SqlConnection Conn = dt.GetConn();
Conn.Open();
SqlCommand cmd = new SqlCommand(sql, Conn);
byte[] fileData = (byte[])cmd.ExecuteScalar();
Conn.Close();
System.IO.MemoryStream ms = new System.IO.MemoryStream(fileData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
}
⑥ 如何才能往数据库里读取图片数据或者从数据库里读图片能告诉我具体步骤吗谢谢
具体步骤:
1.连接数据库
2.查询数据库
3.调用数据库中的图片(有些是按照地址保存,有的是按照二进制保存)
在调用的地方用<img src="<%=rs("存放图片的字段")%>">
这样就可以了