图片存储到数据库的方式一般分类两种,一是直接图片文件存储到数据库,二是将图片存储磁盘,数据库中存储其物理路径
一、 把图片直接以二进制形式存储在数据库中
一般数据库提供一个二进制字段来存储二进制数据。比如sql Server中的BINARY,VARBINARY;
1、BINARY 数据类型用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。在输入数据时必须在数据前加上字符“0X” 作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。
2、VARBINARY数据类型的定义形式为VARBINARY(n)。 它与BINARY 类型相似,n 的取值也为1 到8000, 若输入的数据过长,将会截掉其超出部分。不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为VARBINARY数据类型。
一般情况下,由于BINARY 数据类型长度固定,因此它比VARBINARY 类型的处理速度快
另,MySQL中有个blob字段。Oracle数据库中是blob或bfile类型
2、 图片存储在磁盘上,数据库字段中保存的是图片的路径
存储路径存储路径字符串即可,sql中可以使用varchar/nvarchar;mysql可以使用varchar
总结:将图片文件直接以二进制存储数据库需要将图片提前转为二进制数据,以存储图片物理路径的方式需要将图片文件放置指定位置,这都需要配合不同的编程语言实现;
B. 数据库中可以存储照片么怎么存储
数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。
在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。
C. B超是医院里面用到的什么系统是不是医学影像传输(PACS)系统
。PACS用于医院的影像科室,PACS的任务就是将影像设备中的图像通过各种接口接收过来,并采用自动化的方式存储管理起来。 PACS系统的优越性是显而易见的。 首先,极大的提高了医院的管理水平。利用PACS系统能够实现医学影像资料的统一管理,提高了工作效率,减少人为差错。是医院实现规范化管理、进行质量控制的必备条件; 第二,采用数字化影像技术,利用大容量储存管理方式和光盘永久存储医学影像,实现无胶片化管理,节省了大量的胶片费用。根据科学计算,光盘存储成本是胶片成本的1/88,仅此一项为每年就可节省消耗30万元到60万元(以日工作量为30人次计算),同时节省了大量的存片空间; 第三,利用数字化存储图像,可以保留图像的全部信息,可以进行后处理。而传统的胶片存片方式只是保留了图像的部分信息,无法进行后处理; 第四,采用国际标准DICOM3.0协议,可以同所有的数字化接口的医疗仪器通过网络连接,非数字化也可通过转换成DICOM3.0格式连接,组成大型的医学影像管理系统(RIS); 第五;通过HL7协议提供的与HIS/RIS与网络相连接的接口技术,与医院管理系统(HIS)的具有图文数据库管理功能的大型综合网,实现医院内信息共享; 第六,利用Internet,可以便捷的实现远程会诊,异地诊断功能。 由此可见,PACS系统可以极大的提高医院的管理水平,有效的改善小城市或边远地区缺乏专业医疗支持的现状,大量节省医院日常消耗,全面改善各地区医疗技术水平分配不均的现状,是一件利国利民的好事。 RIS系统是放射科管理系统,重点对影像科室各类活动的控制和管理。强调临床工作流的控制。结合具体国情况,中国的PACS系统必须融合RIS系统,中科恒业PACS就是完全融合了RIS系统的PACS系统。 中科恒业PACS是基于 WEB 方式, 采用 ASP + SQL SERVER + COM 三层结构来实现的。所有的程序文件都放在服务器上,在客户端,只要安装了浏览器 ,并且安装用到的Com控件就可以了。 登记台 主要提供登记病人信息的功能 1、 将登记的病人汉字姓名进行转换自动翻译为汉语拼音,以供检查设备识别。 2、 打印检查病人标签以示病人的基本信息。 3、 登记病人的收费详细情况,提供病人查询收费明细并打印。 4、 可查询病人的报告诊断状态。 5、 统计阴性阳性率、工作量、检查次数、部位等。 6、 统计病房病人、外院病人等。 7、 打印带有审核医师电子签名的病人的报告。 8、 提供专业的检查描述模板,登记台可以自由添加、修改、删除。模板分为“公用模板”和“我的模板”。 报告台 报告台为医生写报告下诊断的平台,在该平台系统提供了以下功能: 1、 任务分配到医生个人,“我的报告任务”中为医生需要完成的报告任务。 2、 医生将看到病人在放射科检查过的所有记录,例如曾经检查过MR,下一次再检查CT时就可以同时看到CT和MR的报告和图像,帮助医生进行诊断。 3、 方便的图像浏览功能,兼容所有的DICOM标准图像,提供图像处理功能,测量、旋转、CT值、转换、标注等多种实际的使用。 4、 浮动式的报告窗口,让报告医生边看图边写报告。 5、 支持鼠标鼓轮,方便报告医生观看图片。 6、 提供将病人送回登记台功能,为了求得病人资料的准确性,医生需要登记台核对病人的基本情况,如病史等。 7、 没有审核权的报告医生需要将报告提交给审核医师,由审核医师辅助诊断,如果发现错误,将报告返还给报告医师,报告医师任务栏中出现“我的修改任务”,报告医师再次调出病人修改。 8、 报告医师可以对病人的图像进行比较:多序列比较。 9、 提供专业的专家词库模板,报告医师可以根据自己的报告习惯自由添加、修改、删除,报告词库模板分为“公用模板”和“我的模板”,医生可以选择建立专家词库模板。 10、 报告医师必须根据自己的诊断对病人进行阳性和阴性归类,具体到 病种。区分阳性和阴性。 11、 根据病人的检查部位将病人的检查报告分开书写,为病人提供准确 的诊断。 12、 CT、MR报告医生必须填写病人的检查扫描参数,以供以后诊断需要。 13、 系统提供报告预览功能,能让医生做到报告所见所得。 审核台 如果医生同时具备审核权和报告权,基本功能同报告医生,附加功能如下: 报告不需要提交给审核医师,自己审核方可 系统管理员 系统管理员拥有以下权限: 1、人员设置,包括权限、电子签名、密码等选项。 2、评片图像功能,对图像质量进行评价。 3、光盘刻录,能方便系统管理员进行病人图像的存储。 4、部位和科室,可以对部位和科室进行增加、修改、删除。 5、报告检索管理设置阴性阳性部位。 6、物流管理包括:库房管理、实习生管理、培训人员、进修生管理、人员管理、设备管理、科研管理、教学管理等。 系统与医院其他科室可以联系,需要CT检查的可以发送“检查申请”; 本系统采用国际医学图像传输与储存协议DICOM3.0而设计,可以连接具有DICOM3.0标准数字接口的CT(CT)、核磁共振(MR)、B超(US)、CR(CR)、数字化胃肠机(RF)、X线机(XR)、内窥镜(SC)等医学影像设备。
D. 如何将图片存到数据库中
保存图片到数据库中,有两种方法:
1、一种是用大对象,即blob型,对c#不了解,但是java、c++中都有专门操作blob的对象,应该是以二进制流的方式走的。但是不建议采用这样的管理方式,会加重数据库、程序负担,即使是手机开发也是如此。
2、图片保存在本地,数据库中用字符串存储地址,这样的方式比较好,也较易实现。但是缺乏安全性,把图片重命名就行了,改个后缀,一般人就不会打开。还是不放心,用二进制加密下就好,这样的程序代价仍然要比存在数据库大对象中要好。
E. 数据库能存图片吗
问题一:数据库怎样可以将图片放到里面 首先肯定一点,数据库中是可以放图片数据的!但是这样的话,数据体积会很庞大,当然最好还是把图片放到文件夹中,数据只用来存放图片路径,不过最好是存放相对路径,应该以后可能设计到图片单独放在另一台服务器上,或换了文件夹。
问题二:SQL数据库中能存照片吗? 图片完全可以存放,但是在数据库中不能以select * from a进行查询
但是在相对应得c#、Java中可以查询
是以二进制保存的。
数据库,只要是抽象出来的数据,都可以保存。
而已不能保裤姿存的,就是实体,像处啊、鞋子啊、男朋陵桥友啊都不姓
问题三:mysql数据库可以存图片吗? 可以。存图片的列需要设置成BLOB、MEDIUMBLOB或LONGBLOB等数据类型。
但是以前基本上不会把图片直接存在数据库里,因为数据库里的数据是为了用来胡汪绝快速分析、快速存取的,图片数据在mysql里既不能建立索引也不能和其他数据一起分析,存取速度和读写磁盘也没什么区别,每次备份、导入导出数据库时还增加了数据量,降低了效率。所以一般都是把图片存在系统里,然后把图片的存放路径放在数据库里。
问题四:图片如何存入数据库 第一种方式:保存图片路径至数据库中
第二种方式:数据插入相应表中,参数类型为byte[]
例如:
sql:insert into table(imageColumn) values (@image);
其中@image参数值为byte[]类型的变量
问题五:图片如何存放在oracle数据库 测试可行。这只是核心Class文件代码,你要是弄不出来,就再联系我,我再把整个项目给你。这是把图片真个放到数据库
package .;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
import oracle.sql.BLOB;
public class Insert {
Scanner sc =new Scanner(System.in);
@SuppressWarnings(deprecation)
public int insertbinary(String pname,String src1){
Connection con = null;
String sql = insert into test values(?,?);
String sql1 =update test set image=? where pname=?;
int res = 0;
try {
con=BaseDAO.getConnection();
con.setAutomit(false);
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setString(1, pname);
EMPTY_BLOB和EMPTY_CLOB返回一个空的LOB定位器,
可以用来初始化一个LOB变量,或在INSERT或UPDATE语句,
初始化LOB列或属性为空。 EMPTY表示LOB初始化,但不填充数据。
pstm.setBlob(2, oracle.sql.BLOB.empty_lob());
pstm.executeUpdate();
pstm.close();
pstm = con.prepareStatement(select * from test where pname=?);
pstm.setString(1, pname);
ResultSet rs = pstm.executeQuery();
rs.next();
BLOB blob = (BLOB) rs.getBlob(2);
OutputStream os = blob.getBinaryOutputStream();
FileInputStream fi = new FileInputStream(src1);
byte[] buff = new byte[1024];
int len = fi.read(buff);
while (len != -1) {
os.write(buff);
len = fi.read(buff);
}
pstm = con.prepareStatement(sql1);
pstm.setBlob(1,......>>
问题六:如何将图片储存在MySQL数据库里 通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存图片的上传路径到数据库:
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......>>
问题七:如何在数据库中存储图片文件 解决方法一般有两种:
一种是将图片保存的路径存储到数据库;
另一种是将图片以二进制数据流的形式直接写入数据库字段中。
问题八:如何将图片存到数据库 通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存图片的上传路径到数据库:
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......>>
问题九:怎样数据库access保存jpg图片 只有两种方法
1.存图片地址,图片放服务器的一个文件夹里
2.存图片的数据,也就是二进制流
既然第一种你说不行 那只能第二种了。
我只说一下思路,代码网上找一下,多的很,也不麻烦1.数据库字段类型为image(sqlserver的是image,不知道access的是不是)
2.把图片文件序列化 放到一个byte[]数组里,然后存到数据库
显示的时候:
1.单独在一个页面读出图片的内容到一个byte[]数组
2.用response把这段二进制输出
3.在要引用的地方,比如你的image控件,把引用的地址指向这个页面就行了
问题十:如何像数据库中保存图片? 一般图像是不保存在数据库的.而是先将图片放在工程下的某个文件夹中,将图片所在的工程文件路径存在数据库中,当程序加载图片的时候,从数据库中读取图片的路径,然后根据路径在工程的文件夹中读取图片文件
F. 怎样保存图片到数据库
一般图像是不保存在数据库的.而是先将图片放在工程下的某个告察段文件夹中,将图片所在的工程文件路径存在数据库中,当程序没斗加载图片的时候袜誉,从数据库中读取图片的路径,然后根据路径在工程的文件夹中读取图片文件
G. 数据库怎么储存图片
数据库存储图片,其实是存储图片在服务器上的路径或图片的绝对地址 。它是一个字符串,所以数据库字段的类型可使用varchar【可变的,长度不超过255】。在前台调用时,需要将路径放置在img标签的src属性中,即可显示图片
H. 如何把图片存到数据库中
通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:
一、保存图片的上传路径到数据库:
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;
采用俩种方式可以根据实际需求灵活选择。