ASP.NET+C# FILEUPLOAD控件,如何上传图片到服务器并保存图片路径到数据库?

ASP.NET+C# FILEUPLOAD控件,如何上传图片到服务器并保存图片路径到数据库?,第1张

我做了个例子给你\x0d\x0a前台:\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0a后台:\x0d\x0a protected void Button1_Click(object sender, EventArgs e)\x0d\x0a{\x0d\x0aFileUpload1.SaveAs(Server.MapPath("img/"+FileUpload1.FileName))//上传图片\x0d\x0aImage1.ImageUrl = "~/img/" + FileUpload1.FileName//图片路径(将这个数据保存到数据库就可以了。img为项目里一个文件夹的名称)\x0d\x0a} 回答于 2022-11-17

使用Upload控件:

string UserDirectory = "news"//存放图片的文件夹

string UserPath = Server.MapPath("../UploadFiles").ToString() + "\\" + UserDirectory + "\\" + "新闻" + "\\" + "Img" + "\\" + DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM")//图片存放路径

string ImgFileName

string FileName

 string FileType

string UploadImgName = FileUploadImg.PostedFile.FileName //文件在本地的原始位置 

FileName = UploadImgName.Substring(UploadImgName.LastIndexOf('\\') + 1).ToString()//得到文件名

FileType = UploadImgName.Substring(UploadImgName.LastIndexOf(".") + 1)//得到后缀名

if (StringFun.GetimgFileName.Getimg(FileUploadImg, UserPath, out ImgFileName))

{

    imgDataUrl = "UploadFiles/" + UserDirectory + "/" + "新闻" + "/" + "Img" + "/" + DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + "/" + ImgFileName//数据库存放路径

}

首先..定义一个函数..将图片转化为二进制码

//定义将图片转化为长二进制代码的函数getphoto()

public

Byte[]

getphoto(string

photopath)

{

string

str

=

photopath

FileStream

file

=

new

FileStream(str,

FileMode.Open,

FileAccess.Read)

Byte[]

bytBLOBData

=

new

Byte[file.Length]

file.Read(bytBLOBData,

0,

bytBLOBData.Length)

file.Close()

return

bytBLOBData

}//这是定义函数..

然后..就是将转换成二进制码的图片插入数据库中..下面是简单的也是重要的sql语句..

if

(this.pictureBox1.Image

!=

null)

{

sql1

=

sql1

+

",Photo"

sql2

=

sql2

+

",bytBLOBData"

Byte[]

bytBLOBData

=

getphoto(openFileDialog1.FileName)

cmd.Parameters.Add(new

OleDbParameter("jpeg",

OleDbType.Binary,

bytBLOBData.Length,

ParameterDirection.Input,

true,

0,

0,

null,

DataRowVersion.Default,

bytBLOBData))

}

接下来..是读取...

string

sql

=

"select

photo

from

studentinfo

where

studentid

=

"

+

this.Tag.ToString()

OleDbCommand

cmd

=

new

OleDbCommand(sql,

connection1)

if

(Convert.DBNull

!=

cmd.ExecuteScalar())

pictureBox1.Image

=

Image.FromStream(new

MemoryStream((Byte[])cmd.ExecuteScalar()))//读取长二进制为图片..


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6681648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存