⑴ 数据库图片是存储文件名放在本地还是图片对象本身哪种好一点
两种方式都是可以的
但我们通常采用的是
数据库里存取图片的文件名称
图片本身是存放在硬盘里的
⑵ 图片该如何存储在数据库里面,存放路径好还是以二进制存放在数据库里好
从项目的角度上来说,图片存储和数据库存储都是必须要分离的,
否则这一个模块就能拖垮你的整个工程。
二进制的存储方式,已经淘汰了,性能非常差,在以后的数据库版本里已经取消了这个存储方式。
存放路径,是一种非常方便的解决方案,不存在什么其他的问题,容易管理。
比如,你以前用二进制存储的一个图片,又要IO又要缓存的才能展示给用户看。
现在你保存的是地址,仅仅需要把链接提取出来即可,这样减少了数据访问上的压力。
⑶ 开发程序中,涉及到上传图片,上传的图片一般是直接在放在数据库中呢 还是数据库中保存图片的路径。
如果是数据库中保存图片的路径一般:
1.建一个图片文件夹,所有图片上传到这个文件夹
2.在数据为库里存放这个图片相对于你的应用程序根目录的路径.
3,显示的时候,直接让你的图片框的SRC等于这个路径就行了.
以上是B/S结构下的方法的一种.
⑷ 如何将图片路径存入数据库 图片路径是放在哪的路径
图片的路径通常是放在服务器里的,将路径存入数据库的话很简单,在数据库设置一个varchar型的字段就可以了。 数据库是通过服务器进行连接的,不用上传的;要图片显示出来的话,当然要读出数据库相应得字段获取字符串,也就是图片的路径。
⑸ java web制作中数据库图片地址一般放在哪
从你问的问题来看,你放在工程里就可以了。
一般会创建图片服务器,图片统一放到上边
⑹ 数据库中怎么存放图片
两种,一种是将图片转化成二进制数据流存入数据库中。一种是保存图片的路径,然后前台读取路径去调用图片。相关的代码网络一下应该会有,第二种方法实现上比较简单,就是存储路径,然后根据路径读取对应的图片显示出来。第一种就比较麻烦,要先把图片转化成二进制数据,读取时就是从数据库读取对应数据再转化成图片显示出来。
⑺ 如何像数据库中保存图片
一般图像是不保存在数据库的.而是先将图片放在工程下的某个文件夹中,将图片所在的工程文件路径存在数据库中,当程序加载图片的时候,从数据库中读取图片的路径,然后根据路径在工程的文件夹中读取图片文件
⑻ 图片如何存入数据库
通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存图片的上传路径到数据库:
string uppath="";//用于保存图片上传路径
//获取上传图片的文件名
string fileFullname = this.FileUpload1.FileName;
//获取图片上传的时间,以时间作为图片的名字可以防止图片重名
string dataName = DateTime.Now.ToString("yyyyMMddhhmmss");
//获取图片的文件名(不含扩展名)
string fileName = fileFullname.Substring(fileFullname.LastIndexOf("\\") + 1);
//获取图片扩展名
string type = fileFullname.Substring(fileFullname.LastIndexOf(".") + 1);
//判断是否为要求的格式
if (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF")
{
//将图片上传到指定路径的文件夹
this.FileUpload1.SaveAs(Server.MapPath("~/upload") + "\\" + dataName + "." + type);
//将路径保存到变量,将该变量的值保存到数据库相应字段即可
uppath = "~/upload/" + dataName + "." + type;
}
二、将图片以二进制数据流直接保存到数据库:
引用如下命名空间:
using System.Drawing;
using System.IO;
using System.Data.SqlClient;
设计数据库时,表中相应的字段类型为iamge
保存:
//图片路径
string strPath = this.FileUpload1.PostedFile.FileName.ToString ();
//读取图片
FileStream fs = new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] photo = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
//存入
SqlConnection myConn = new SqlConnection("Data Source=.;Initial Catalog=stumanage;User ID=sa;Password=123");
string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )";//操作数据库语句根据需要修改
SqlCommand myComm = new SqlCommand(strComm, myConn);
myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length);
myComm.Parameters["@photoBinary"].Value = photo;
myConn.Open();
if (myComm.ExecuteNonQuery() > 0)
{
this.Label1.Text = "ok";
}
myConn.Close();
读取:
...连接数据库字符串省略
mycon.Open();
SqlCommand command = new
SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查询语句根据需要修改
byte[] image = (byte[])command.ExecuteScalar ();
//指定从数据库读取出来的图片的保存路径及名字
string strPath = "~/Upload/zhangsan.JPG";
string strPhotoPath = Server.MapPath(strPath);
//按上面的路径与名字保存图片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(image);
bw.Close();
//显示图片
this.Image1.ImageUrl = strPath;
采用俩种方式可以根据实际需求灵活选择。
⑼ 数据库中可以存储照片么怎么存储
数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。