有一个图片保存在”c:/123/123.jpg”,如何把它的路径保存到数据库?并读出来? (c 图片存入数据库中)

更好把它放在与你这个图片放在文件夹下,码颤比如网页的文件夹,建一个image的文件夹,然后数据库中存入相对路径迟槐败,查询的时明核候就把该图片的相对路径,负值给网页,就行了。

在wwwroot目录建立一个目录,例如images,将图片保存在这个目告神录中,在数据库建立一个字段,例如LJ,在这个字段中输入:/images/兄友闭123.jpg即可羡裂。

把它的路径保存到数据库很简单啊,只要橘闭纯往数据库里面写”C:\123\123.jpg”这个字符串就可以了,不知道你是什么语言,没法圆咐给你态唯解答啊

相关问题拓展阅读:

VS.C#如何向数据数据库中存入和读取图片的?

首先,在数据库中要建立相应的字段能保存Bytes,桥销例如在SQL Server中用Image类型来定敏塌游义字段。我所用到的数据库大致结构如下:

字段名

类型

备注

FileID

Int

自增字段

FileName

Varchar(256)

FullName

Varchar(1024)

FileData

Image

然后就是写入数据库,代码如下:

FileInfo fi = new FileInfo( txtFileName.Text );// Replace with your file name

if ( fi.Exists)

{

byte bData = null;

int nNewFileID = 0;

// Read file data into buffer

using ( FileStream fs = fi.OpenRead() )

{

bData = new byte;

int nReadLength = fs.Read( bData,0, (int)(fi.Length) );

}

// Add file info into DB

string strQuery = “INSERT INTO FileInfo ”

+ ” ( FileName, FullName, FileData ) “

+ ” VALUES “

+ ” ( @FileName, @FullName, @FileData ) “衫携

+ ” SELECT @@IDENTITY AS ‘Identity'”;

SqlCommand sqlComm = new SqlCommand( strQuery, sqlConn );

sqlComm.Parameters.Add( “@FileName”, fi.Name );

sqlComm.Parameters.Add( “@FullName”, fi.FullName );

sqlComm.Parameters.Add( “@FileData”, bData );

// Get new file ID

SqlDataReader sqlReader = sqlComm.ExecuteReader();

if( sqlReader.Read() )

{

nNewFileID = int.Parse(sqlReader.GetValue(0).ToString());

}

sqlReader.Close();

sqlComm.Dispose();

if( nNewFileID > 0 )

{

// Add new item in list view

ListViewItem itmNew = lsvFileInfo.Items.Add( fi.Name );

itmNew.Tag = nNewFileID;

}

}

而读出的代码如下:

// Get new file name

string strFullName = dlgFBSave.SelectedPath;

if( strFullName != ‘\\’ )

strFullName += @”\”;

strFullName += lsvFileInfo.SelectedItems.Text;

string strQuery = “SELECT FileData FROM FileInfo “

+ ” WHERE FileID = ” + lsvFileInfo.SelectedItems.Tag.ToString();

SqlDataAdapter sqlDAdapter = new SqlDataAdapter(strQuery,sqlConn);

DataSet sqlRecordSet = new DataSet();

byte bData = null;

//Get file data from DB

try

{

sqlDAdapter.Fill( sqlRecordSet, “FileInfo” );

foreach( DataRow dr in sqlRecordSet.Tables.Rows)

{

if( dr != DBNull.Value )

bData = ( byte )dr;

}

}

catch(SqlException sqlErr)

{

MessageBox.Show( sqlErr.Message );

}

catch

{

MessageBox.Show( “Failed to read data from DB!” );

}

sqlRecordSet.Dispose();

sqlDAdapter.Dispose();

if( bData != null )

{

// Save file

FileInfo fi = new FileInfo( strFullName );

if( !fi.Exists )

{

//Create the file.

using (FileStream fs = fi.Create())

{

fs.Write( bData, 0, bData.Length);

}

}

else

{

//Create the file.

using (FileStream fs = fi.OpenWrite())

{

fs.Write( bData, 0, bData.Length);

}

}

}

不过需要提的一点,如果把大量的文件存入数据库的话,会造成数据库的臃肿,而且访问量也会增大。所以现在比较流行的做法,是把文件上传到服务器上,而在数据库上只保存文件的相对路径即可。那么访问的时候,先通过数据库得到文件的相对路径,然后再访问服务器上的文件

写入图片部分代码:

假设图返汪姿片为 test.gif

byte bytes = File.ReadAllBytes(@”c:\test.gif”);

SqlConnection con = new SqlConnection(“server=.;uid=sa;pwd=;database=数据库名”);

con.open();

SqlCommand cmd = new SqlCommand(“insert into 表(图片字段) values(@image)”);

cmd.Parameters.Add(“@image”, SqlDbType.Image).Value = bytes;

cmd.ExecuteNonQuery();

读取部分漏绝代码:

SqlConnection con = new SqlConnection(“server=.;uid=sa;pwd=;database=数据库名”);

con.open();

SqlCommand cmd = new SqlCommand(“select 图片字段 表 where 图片编号陵陆=1”);

object scalar = scmd.ExecuteScalar();

byte bytes=(byte)scalar;

如果保存成文件:

File.WriteAllBytes(@”c:\read.gif”,bytes);

如果要直接用网页输出:

MemoryStream ms = new MemoryStream(bytes);

Response.ContentType = “image/gif”;

System.Drawing.Image image=System.Drawing.Image.FromStream(ms);

image.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);

关于c 图片存入数据库中的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 有一个图片保存在”c:/123/123.jpg”,如何把它的路径保存到数据库?并读出来? (c 图片存入数据库中)