怎么把照片传成数据库里 照片数据怎么导入excel里

智创体育 2024-09-21 08:17 1

如何将图片存到数据库中

一般图片的处理都是上传到服务器然后将图片的地址名称依次保存在数据库中,取出时按照地址取出就可以。直接用网上的图片地址有的是可以的访问,有的因为图片加锁,保留网上那个图片地址终是无法找到图片的。

怎样把图片存入SQL数据库表中??

问题有点不清楚,如果你说的是指把图片文件数据存入数据库中可以这样做:

首先在表里设置一个列为byte类型。

然后是实例化一个图片文件对象:

File file = new File("参数为图片路径比如:E:/ja/chart.jpg");

然后将对象转成流:

FileInputStream fis = new FileInputStream(file);

使用PreparedStatement 对象进行插入操作。

PreparedStatement ps = conn(数据库连接对象).prepareStatement("SQL语句:如:Insert into gs_img (img) values (?)");

接下来就是关键的一步,在使用PreparedStatement类的setBinaryStream()方法。

这个方法有三个参数:第一个就是列的检索,也就是字段名在SQL语句中的序号,

第二个参数是流对象,第三个参数是流的长度。

也就是ps.setBinaryStream(3,fis,(int)file.length());

后执行SQL语句:ps.executeUpdate();

可以用数据类型设置为image

但是本人认为存储图片到数据库里,有点慢,本人实际一般都是把图片到一个公共文件夹里,然后按照一定规则起名字,再把存储路径保存到数据库里,调用的时候把路径给图片控件给他就可以了,感觉能快点

只是个人想法

将图片存入SQL数据库中一般分两种情况

一、 把图片转换成二进制形式存储在数据库中

一般数据库提供一个二进制字段来存储二进制数据。如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 类型的处理速度快

二、 图片存储在磁盘上,数据库字段中保存的是图片的路径

存储路径存储路径字符串即可,sql中可以使用varchar/nvarchar;

总结:将图片文件直接以二进制存储数据库需要将图片提前转为二进制数据,以存储图片物理路径的方式需要将图片文件放置指定位置,这都需要配合不同的编程语言实现;

以C#为例:

//点击按钮执行存入

private void btnWrite_Click(object sender, EventArgs e)

{OpenFileDialog ofd = new OpenFileDialog();

ofd.Filter = "jpg|.JPG|.GIF|.GIF|.BMP|.BMP";

if (ofd.ShowDialog() == DialogResult.OK)

{string filePath = ofd.FileName;//图片路径

FileStream fs = new FileStream(filePath, FileMode.Open);//读取图片流

byte[] imageBytes = new byte[fs.Length];

BinaryReader br = new BinaryReader(fs);

imageBytes = br.ReadBytes(Convert.ToInt32(fs.Length));//图片转换成二进制流

string strSql = string.Format("insert into [SBS].[dbo].[Model] ([M_QRCode],[M_Skills] ) values (@image,'2')");

int count = Write(strSql,imageBytes );

if (count > 0)

{MessageBox.Show("success");

}else

{MessageBox.Show("failed");

}}

}//数据库连接和保存图片语句

private int Write(string strSql,byte[] imageBytes)

{string connStr = "Data Source=数据库地址;initial Catalog=SBS;User ID=sa;Password=sa;";

using (SqlConnection conn = new SqlConnection(connStr))

{using (SqlCommand cmd = new SqlCommand(strSql, conn))

{try

{conn.Open();//打开数据库链接

SqlParameter sqlParameter = new SqlParameter("@image", SqlDbType.Image);

sqlParameter.Value = imageBytes;

cmd.Parameters.Add(sqlParameter);

int rows = cmd.ExecuteNonQuery();//执行插入操作

return rows;

}catch (Exception e)

{throw;

}}

}}

可以将其转化为base64字符串,再存入数据库,页面解析时,再讲字符串解析为图片。

问题有点不清楚,如果你说的是指把图片文件数据存入数据库中可以这样做:

首先在表里设置一个列为byte类型。

然后是实例化一个图片文件对象:

File file = new File("参数为图片路径比如:E:/ja/chart.jpg");

然后将对象转成流:

FileInputStream fis = new FileInputStream(file);

使用PreparedStatement 对象进行插入操作。

PreparedStatement ps = conn(数据库连接对象).prepareStatement("SQL语句:如:Insert into gs_img (img) values (?)");

接下来就是关键的一步,在使用PreparedStatement类的setBinaryStream()方法。

这个方法有三个参数:第一个就是列的检索,也就是字段名在SQL语句中的序号,

第二个参数是流对象,第三个参数是流的长度。

也就是ps.setBinaryStream(3,fis,(int)file.length());

后执行SQL语句:ps.executeUpdate();

如何将上传图片和文字写进数据库

图片放在本地的某个目录中如“c:\image”,然后再把这个目录+图片名存入数据库"c:\image\image1.jpg"。读出时只要使用

href="c:\image\image1.jpg">就OK了。除此之外还可以把上传的图片作为字节流读入数据库,读出时使用cgi或Servlet程序把读出的流以图片显示出来。

怎么将图片上传到数据库中,

1.

可以将图片上传到服务器,以二进制数据存放到数据库

2.

可以将图片以文件方式上传到服务器,存放到指定目录

---------

使用图片上传,可以采用图片上传组件(asp上传组件,很多的,搜一下),也可以使用无组件上传

怎样用php实现上传图片到数据库

先将你上传图片的路径直接存到upload文件夹中,在由upload文件夹中直接传入数据库,再输出就是直接的图片形式。

@session_start();

require_once("./conf/config.php");

$file_type = $_FILES["pic"]["type"];

$file_name = $_FILES["pic"]["name"];

if ((($file_type == "image/gif")

|| ($file_type == "image/jpeg")

|| ($file_type == "image/pjpeg"))

&& ($_FILES["pic"]["size"] < 1000000))

{if(!is_dir("upload/". date("md") . "/"))

{mkdir("upload/". date("md") . "/");

}if (file_exists("upload/" . date("md") . "/" . $file_name))

{echo "图片 " . $file_name . " 文件名已存在,请更换文件名再进行上传. ";

}else

{$url = "upload/" . date("md") . "/" .$file_name;

move_uploaded_file($_FILES["pic"]["tmp_name"],

"upload/" . date("md") . "/" . $file_name);

}}

else

{echo "图片文件不可用";

}$userId = $_SESSION["userId"];

if($url){

$sql = "insert into photos(url, userId) values('$url', '$userId')";

$query = mysql_query($sql);

if($query){

die('');

}}

?>

怎么把手机照片传到电脑相册里

打开电脑 用充电线 USB接头插电脑上,找到我的电脑 找到手机 找到相册,粘贴把照片保存在电脑上新建的文件夹里。一定记得保存 就OK了

我自己的两种方法

1.电脑和手机同步登录微信或qq号,然后通过文件传输形式传到电脑上相册就可以,这样比较麻烦

2.手机和电脑用电源线通过u接口连接好,就直接可以把手机的照片或粘贴到电脑上

3.手机和电脑同时打开蓝牙,这样也是一种方法

把你手机用数据线插到电脑上。

电脑上会自动识别H盘。根据提示,你就把手机的相册发送到或者是移动哪个盘里都可以,很简单。

可以用蓝牙或者用u连接都可以把手机照片传到电脑相册里

通过微信同步传输或者QQ传输;

版权声明:本文仅代表作者观点,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 v18476291909@163.com,本站将立刻删除

下一篇 :