‘壹’ php中如何从数据库中读取图片
<?php
//将图片存进数据库再读出,注意存储图片的字段类型必须为blob
$user=’root’;
$password=’root’;
$db=’test’;
$connect=mysql_connect(‘localhost’,$user,$password);
mysql_set_charset(‘utf8′,$connect);
mysql_select_db($db);
$photo = “0x”.bin2hex(file_get_contents(“./test.jpg”));
$sql=”INSERT INTO `test`.`test` (`photo`) VALUES ($photo);”;//$photo不需要用引号,切记
mysql_query($sql);
//$result=mysql_query(“SELECT *
//FROM `test`
//LIMIT 0 , 30〃);
//$img=mysql_fetch_array($result);
//echo $img['photo'];
?>
‘贰’ 如何才能往数据库里读取图片数据或者从数据库里读图片能告诉我具体步骤吗谢谢
具体步骤:
1.连接数据库
2.查询数据库
3.调用数据库中的图片(有些是按照地址保存,有的是按照二进制保存)
在调用的地方用<img src="<%=rs("存放图片的字段")%>">
这样就可以了
‘叁’ 怎么从数据库中调取照片
不知道你是jsp还是asp,给你个框架思路:
比如图片文件夹绝对路径为D:\IMAGE,数据库列“照片”中存的是文件名
那在输出时,需要将路径与文件名拼接起来,做为html的img元素,
比如假设rs为结果集,以asp为例:
dim imgpath
imgpath="D:\IMAGE\"
response.write("<img src='" & imgpath & rs("照片") & "'>)
‘肆’ 如何从数据库中读取图片,图片存在文件夹中
我来回答你吧!我这些天碰到了和你一样的问题,后来我解决了,我给你两种方法。
方法一:图片是直接存在SQL Server中的Image类型中的,你首先新建一个空白的aspx网页,在这个新建的网页的Page_Load()中读出Image,然后用Response.BinaryWrite()函数显示出来,然后在你原来的那个网页中的Image控件的ImageURL属性填那个新建的aspx网页,就是
image1.ImageUrl = "temp.aspx";这样就好了
方法二:数据库存的不是Image字段,而是图片的的地址,然后再Image的ImageURL中填这个地址就行了,直接能显示出来。
我用的第二种方法,在我前几天就这问题感到很迷茫的时候搜了很多资料,假如你还是不清楚就可以跟我说,我这段时间都在线!祝你好运!
‘伍’ 图片怎么从数据库里读取出来
推荐你先看这篇文章:
使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来
一,上传并存入SqlServer
数据库结构
create table test
{
id identity(1,1),
FImage image
}
相关的存储过程
Create proc UpdateImage
(
@UpdateImage Image
)
As
Insert Into test(FImage) values(@UpdateImage)
GO
在UpPhoto.aspx文件中添加如下:
<input id="UpPhoto" name="UpPhoto" runat="server" type="file">
<asp:Button id="btnAdd" name="btnAdd" runat="server" Text="上传"></asp:Button>
然后在后置代码文件UpPhoto.aspx.cs添加btnAdd按钮的单击事件处理代码:
private void btnAdd_Click(object sender, System.EventArgs e)
{
//获得图象并把图象转换为byte[]
HttpPostedFile upPhoto=UpPhoto.PostedFile;
int upPhotoLength=upPhoto.ContentLength;
byte[] PhotoArray=new Byte[upPhotoLength];
Stream PhotoStream=upPhoto.InputStream;
PhotoStream.Read(PhotoArray,0,upPhotoLength);
//连接数据库
SqlConnection conn=new SqlConnection();
conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
SqlCommand cmd=new SqlCommand("UpdateImage",conn);
cmd.CommandType=CommandType.StoredProcere;
cmd.Parameters.Add("@UpdateImage",SqlDbType.Image);
cmd.Parameters["@UpdateImage"].Value=PhotoArray;
//如果你希望不使用存储过程来添加图片把上面四句代码改为:
//string strSql="Insert into test(FImage) values(@FImage)";
//SqlCommand cmd=new SqlCommand(strSql,conn);
//cmd.Parameters.Add("@FImage",SqlDbType.Image);
//cmd.Parameters["@FImage"].Value=PhotoArray;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
二,从SqlServer中读取并显示出来
在需要显示图片的地方添加如下代码:
<asp:image id="imgPhoto" runat="server" ImageUrl="ShowPhoto.aspx"></asp:image>
ShowPhoto.aspx主体代码:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
SqlConnection conn=new SqlConnection()
conn.ConnectionString="Data Source=localhost;Database=test;User Id=sa;Pwd=sa";
string strSql="select * from test where id=2";//这里假设获取id为2的图片
SqlCommand cmd=new SqlCommand()
reader.Read();
Response.ContentType="application/octet-stream";
Response.BinaryWrite((Byte[])reader["FImage"]);
Response.End();
reader.Close();
}
}
‘陆’ 怎样从数据库读取图片
把图片路径写入数据库,然后直接从里面读取图片的路径地址就好了。
‘柒’ 如何才能往数据库里读取图片数据或者从数据库里读图片
给你提供个ACCESS版的VB代码,使用时调用这些过程即可:
'使用ADODB.Stream来保存/读取图像文件到数据库
'引用Microsoft ActiveX Data Objects 2.5 Library及以上版本
'保存文件到数据库中
Sub SaveFile()
Dim Stm As New ADODB.Stream
Dim Cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strCnn As String
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & _
App.Path & "\DB1.mdb"
Cnn.Open strCnn
'读取文件到内存(二进制模式)
With Stm
.Type = adTypeBinary
.Open
.LoadFromFile App.Path + "\Image1.bmp"
End With
With rs
.Open "SELECT * FROM TABLE1", Cnn, 1, 3
.AddNew
.Fields("IMAGE") = Stm.Read
.Update
End With
rs.Close
Stm.Close
Set rs = Nothing
Set Cnn = Nothing
Set Stm = Nothing
End Sub
'从数据库中读取图像文件
Sub ReadFile()
Dim Stm As New ADODB.Stream
Dim Cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strCnn As String
strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & _
App.Path & "\DB1.mdb"
Cnn.Open strCnn
rs.Open "SELECT IMAGE FROM TABLE1 WHERE ID = 18", Cnn, adOpenKeyset, adLockReadOnly
'保存到文件
With Stm
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write rs("IMAGE")
.SaveToFile App.Path + "\Image2.bmp"
End With
'显示图片
Picture1.Picture = LoadPicture(App.Path + "\Image2.bmp")
rs.Close
Stm.Close
Set rs = Nothing
Set Cnn = Nothing
Set Stm = Nothing
End Sub
‘捌’ php中如何从数据库中读取图片
比较普遍的方法是通过代码实现。
‘玖’ 怎么读取数据库中的图片
确保你的图片已经保存到数据库,如果没什么错误,那就看下面 showming.asp '连接数据库 <% id=clng(trim(request("id"))) if id="" then response.End response.Expires=0 response.buffer=true response.Clear() set rs=server.CreateObject("adodb.recordset") sql="select * from proct where proctid="&id&"" rs.open sql,conn,3,1 response.ContentType="image/*" response.BinaryWrite rs("photo") rs.close set rs=nothing conn.close set conn=nothing %> 显示的图片的页面:picshow.asp <img src="showimg.asp?id=<%=rs(" proctid")%=>" width="400" height="300" border="0" alt="这是一张图片" >
‘拾’ 数据库以img存储,如何读取图片
直接使用企业管理器好像没有办法操作吧,通过软件或自己做个小软件读取。
#region //读取数据库中图片到内存.并显示
public void LoadToMemoryAndDisable(string serverAdress, string database)
{
//读取数据库中图片到内存.并显示
SqlConnection conn = new SqlConnection("server=" + serverAdress + ";integrated security = sspi;database = " + database);
SqlCommand cmd = new SqlCommand("select * from imgtable where imgname like '%bmp%'", conn);
conn.Open();
SqlDataReader dr;
try
{
dr = cmd.ExecuteReader();
dr.Read();
System.Data.SqlTypes.SqlBinary sb = dr.GetSqlBinary(2);
//或byte[] imageData = (byte[])dr[2];
MemoryStream ms = new MemoryStream(sb.Value);//在内存中操作图片数据
Bitmap bmp = new Bitmap(Bitmap.FromStream(ms));
this.pictureBox1.Image = bmp;
dr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
#endregion