没有合适的资源?快使用搜索试试~ 我知道了~
首页asp.net(c#)实现从sqlserver存取二进制图片的代码
资源详情
资源评论
资源推荐

asp.net(c#)实现从实现从sqlserver存取二进制图片的代码存取二进制图片的代码
有一个员工表Employee,需要保存员工照片(Photo)到数据库(sql server)上。员工照片对应的字段是
varbinary(max),也就是要存成二进制文件类型(这和以前讨巧地存图片文件路径就不相同了),默认可以为
空。
下面说说主要实现思路:
1、存取图片
(1)、将图片文件转换为二进制并直接存进sql server
复制代码 代码如下:
//UploadHelper.cs
/// <summary>
/// 将图片转化为长二进制
/// </summary>
/// <param name="photopath"></param>
/// <returns></returns>
public static Byte[] SetImgToByte(string imgPath)
{
FileStream file = new FileStream(imgPath, FileMode.Open, FileAccess.Read);
Byte[] byteData = new Byte[file.Length];
file.Read(byteData, 0, byteData.Length);
file.Close();
return byteData;
}
/// <summary>
/// 将转换成二进制码的图片保存到数据库中
/// </summary>
public static bool SaveEmployeeImg2Db(Employee model, string path)
{
try
{
Byte[] imgBytes = SetImgToByte(path);
model.Photo = imgBytes;
bool flag=EmployeeService.SaveEmployeePhoto(model); //EmployeeService是公司内部的库调用,插入或者更新照片,这里
不透露细节
return flag;
}
catch (Exception ex)
{
throw ex;
}
}
(2)、在网页中上传图片
复制代码 代码如下:
/// <summary>
/// 上传图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUpload_Click(object sender, EventArgs e)
{
string serverPath = Server.MapPath("~/images/");
if (this.fuPhoto.HasFile) //fuPhoto是fileupload控件
{
string fileName = this.fuPhoto.PostedFile.FileName;
FileInfo fi = new FileInfo(fileName);
string mimeType = this.fuPhoto.PostedFile.ContentType.ToLower();
if (mimeType.IndexOf("image") < 0)
{
//("上传的照片格式不对");
}
else if(fi.Length > 2* 1024 * 1024)
{
//图片大于2M,重新处理
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0