用户上传图片到数据库(图片上传服务器写入数据库)

企业网站定制 47
本篇文章给大家谈谈用户上传图片到数据库,以及图片上传服务器写入数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 PHP实现上传图片到数据库并显示输出的方法 本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:1.创建数据表CREATETABLEccs_image(

本篇文章给大家谈谈用户上传图片到数据库,以及图片上传服务器写入数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

PHP实现上传图片到数据库并显示输出的方法

本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:

1.

创建数据表

CREATE

TABLE

ccs_image

(

id

int(4)

unsigned

NOT

NULL

auto_increment,

description

varchar(250)

default

NULL,

bin_data

longblob,

filename

varchar(50)

default

NULL,

filesize

varchar(50)

default

NULL,

filetype

varchar(50)

default

NULL,

PRIMARY

KEY

(id)

)engine=myisam

DEFAULT

charset=utf8

2.

用于上传图片到服务器的页面

upimage.html

!doctype

html

html

lang="en"

head

meta

charset="UTF-8"

meta

name="viewport"

content="width=device-width,

user-scalable=no,

initial-scale=1.0,

maximum-scale=1.0,

minimum-scale=1.0"

meta

http-equiv="X-UA-Compatible"

content="ie=edge"

style

type="text/css"

*{margin:

1%}

/style

titleDocument/title

/head

body

form

method="post"

action="upimage.php"

enctype="multipart/form-data"

描述:

input

type="text"

name="form_description"

size="40"

input

type="hidden"

name="MAX_FILE_SIZE"

value="1000000"

br

上传文件到数据库:

input

type="file"

name="form_data"

size="40"br

input

type="submit"

name="submit"

value="submit"

/form

/body

/html

3.

处理图片上传的php

upimage.php

?php

if

(isset($_POST['submit']))

{

$form_description

=

$_POST['form_description'];

$form_data_name

=

$_FILES['form_data']['name'];

$form_data_size

=

$_FILES['form_data']['size'];

$form_data_type

=

$_FILES['form_data']['type'];

$form_data

=

$_FILES['form_data']['tmp_name'];

$dsn

=

'mysql:dbname=test;host=localhost';

$pdo

=

new

PDO($dsn,

'root',

'root');

$data

=

addslashes(fread(fopen($form_data,

"r"),

filesize($form_data)));

//echo

"mysqlPicture=".$data;

$result

=

$pdo-query("INSERT

INTO

ccs_image

(description,bin_data,filename,filesize,filetype)

VALUES

('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");

if

($result)

{

echo

"图片已存储到数据库";

}

else

{

echo

"请求失败,请重试";

注:图片是以二进制blob形式存进数据库的,像这样

4.

显示图片的php

getimage.php

?php

$id

=2;//

$_GET['id'];

为简洁,直接将id写上了,正常应该是通过用户填入的id获取的

$dsn='mysql:dbname=test;host=localhost';

$pdo=new

PDO($dsn,'root','root');

$query

=

"select

bin_data,filetype

from

ccs_image

where

id=2";

$result

=

$pdo-query($query);

$result=$result-fetchAll(2);

//

var_dump($result);

$data

=

$result[0]['bin_data'];

$type

=

$result[0]['filetype'];

Header(

"Content-type:

$type");

echo

$data;

到浏览器查看已经上传的图片,看是否可以显示

是没有问题的,证明图片已经以二进制的形式存储到数据库了

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:php实现上传图片保存到数据库的方法php上传图片存入数据库示例分享php上传图片到指定位置路径保存到数据库的具体实现php中如何将图片储存在数据库里php下将图片以二进制存入mysql数据库中并显示的实现代码php

从数据库提取二进制图片的处理代码php将图片保存入mysql数据库失败的解决方法php将图片文件转换成二进制输出的方法php图片的二进制转换实现方法

关于spring mvc 上传图片保存到数据库的问题。

文件上传基本思路

1. 在一个 html 网页中,写一个如下的form :

form method=post encType=multipart/form-data action='xx'

input name="userfile1" type="file" br

input name="userfile2" type="file"br

input name="userfile3" type="file"br

input name="userfile4" type="file"br

text field :input type="text" name="text" value="text"br

input type="submit" value=" 提交 "input type=reset

form

2. 服务端 servelet 的编写

现在第三方的 http upload file 工具库很多。Jarkata 项目本身就提供了fileupload 包

。文件上传、表单项处理、效率问题基本上都考虑到了。在 struts 中就使用了这个包,不过是用 struts 的方式另行封装了一次。这里我们直接使用 fileupload 包。至于struts 中的用法,请参阅 struts 相关文档。

这个处理文件上传的 servelet 主要代码如下:

public void doPost( HttpServletRequest request, HttpServletResponse response ) {

DiskFileUpload diskFileUpload = new DiskFileUpload();

// 允许文件最大长度

diskFileUpload.setSizeMax( 100*1024*1024 );

// 设置内存缓冲大小

diskFileUpload.setSizeThreshold( 4096 );

// 设置临时目录

diskFileUpload.setRepositoryPath( "c:/tmp" );

List fileItems = diskFileUpload.parseRequest( request );

Iterator iter = fileItems.iterator();

for( ; iter.hasNext(); ) {

FileItem fileItem = (FileItem) iter.next();

if( fileItem.isFormField() ) {

// 当前是一个表单项

out.println( "form field : " + fileItem.getFieldName() + ", " + fileItem.getString() );

} else {

// 当前是一个上传的文件

String fileName = fileItem.getName();

fileItem.write( new File("c:/uploads/"+fileName) );

}

}

}

C# 怎么实现上传图片到数据库 代码

我给你一个小例子,你自己看看吧,可能会由于我们数据库软件不同,可能需要修改一下。(我用的是 SQL Server)

下面是我自己做的一个类,实例化后即可使用。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

using System.IO;

namespace SQL_Query.MyClass

{

class ConnectionSQLClass

{

private string _server = string.Empty;

private string _database = string.Empty;

private string _uid = string.Empty;

private string _pwd = string.Empty;

private string _sqlConnection = string.Empty;

public ConnectionSQLClass(string server, string database, string uid, string pwd)

{

_server = server;

_database = database;

_uid = uid;

_pwd = pwd;

_sqlConnection = "server=" + _server + ";database=" + _database + ";uid=" + _uid + ";pwd=" + _pwd;

}

//插入图片(table 表名、fieldName 存储图片字段名、imagePath 图片完整路径)

public bool Insert_Image(string table, string fieldName, string imagePath)

{

try

{

FileStream fs = new FileStream(imagePath, FileMode.Open);

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

BinaryReader br = new BinaryReader(fs);

imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));

//打开数所

SqlConnection con = new SqlConnection(_sqlConnection);

con.Open();

SqlCommand com = new SqlCommand("insert into " + table + "(" + fieldName + ")" + " values(@ImageList)", con);

com.Parameters.Add("ImageList", SqlDbType.Image);

com.Parameters["ImageList"].Value = imagebytes;

com.ExecuteNonQuery();

con.Close();

}

catch { return false; }

return true;

}

//读取 fieldName 该字段中符合条件的所有图片(sql SQL查询语句、fieldName 存储图片字段名)

public ListImage Get_Image(string sql, string fieldName)

{

ListImage InformatoinCollection = new ListImage();

SqlConnection cn = new SqlConnection(_sqlConnection);

try

{

cn.Open();

SqlCommand cm = new SqlCommand(sql, cn);

SqlDataReader dr = cm.ExecuteReader();

//MessageBox.Show(dr.HasRows.ToString());

if (!dr.HasRows)

{

return null;

}

while (dr.Read())

{

MemoryStream ms1 = new MemoryStream((byte[])dr[fieldName]);

Image image = Image.FromStream(ms1, true);

InformatoinCollection.Add(image);

}

dr.Close();

cn.Close();

}

catch

{

InformatoinCollection = null;

}

return InformatoinCollection;

}

}

}

希望对你有帮助!

如何把图片存到数据库中

通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存图片的上传路径到数据库:

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;

采用俩种方式可以根据实际需求灵活选择。

图片如何存入数据库?

1、新建一个数据库,数据库名为Image,表名为image。并为表添加ID,tupian两个列。

2、新建一个项目(Photo),在工具箱中往窗体中拖入一个PictureBox控件,两个Button按钮,一个OpenFileDialog控件。并修改pictureBox1控件的属性BorderStyle为FixedSingle,SizeMode为StretchImage;修改两个button控件属性的Text值依次为”打开一张图片”“插入数据库”。

3、首先打开“数据“选择“添加新数据源”,然后(数据库)下一步,(数据集)下一步,选择”新建连接“,依次选择服务器名,服务器验证方式,选择”选择或输入一个数据库名。

4、选择”选择或输入一个数据库名,添加刚刚新建的数据库,然后点击“测试连接”,看看数据库连接是否成功。成功后点“确定”回到“数据源配置向导”页面,将“连接字符串复制下来。

5、添加两条using命名空间 using System.IO;  using System.Data.SqlClient;作用为读取二进制数据流,用于数据库的连接。

6、编辑Button按钮“打开一张图片”的Click事件。

7、编写Button按钮“插入数据库:的Click事件。

jsp如何上传图片到数据库

jsp上传图片到数据,在数据库中有一种类型就是blob存储类型,就是用于储存二进制的。在java.sql里面的PreparedStatment有个setBlob()方法存入数据库,还有ResultSet里的getBlob()就是读取,详情你可以看JDBC Blob如何使用。

在jsp里上传图片很少用上述方式存储到数据库中,一般是将图片上传到服务器项目目录文件夹中,然后数据库中保存该图片文件的地址,如/item/upload/images/我上传的图片.jpg

用户上传图片到数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于图片上传服务器写入数据库、用户上传图片到数据库的信息别忘了在本站进行查找喔。

用户上传图片到数据库 javaweb上传图片到数据库asp上传图片到数据库PHP上传图片到数据库jsp上传图片到数据库springboot上传图片到数据库elementui上传图片到数据库layui上传图片到数据库ssm上传图片到数据库node上传图片到数据库java上传图片保存到数据库
扫码二维码