电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C存取二进制图片

C存取二进制图片_第1页
1/7
C存取二进制图片_第2页
2/7
C存取二进制图片_第3页
3/7
有一个员工表Employee,需要保存员工照片(Photo)到数据库(sql server)上。员工照片对应的字段是varbinary(max),也就是要存成二进制文件类型(这和以前讨巧地存图片文件路径就不相同了),默认可以为空。下面说说主要实现思路: 1、存取图片 (1)、将图片文件转换为二进制并直接存进sql server //UploadHelper.cs /// /// 将图片转化为长二进制 /// /// "photopath"> /// 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; } /// /// 将转换成二进制码的图片保存到数据库中 /// 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)、在网页中上传图片 /// /// 上传图片 /// /// "sender"> /// "e"> 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,重新处理 } else { string saveFilePath = serverPath + DateTime.Now.ToString("yyyyMMddHHmmss") + fileName; try { //先存图片到服务器 this.fuPhoto.PostedFile.SaveAs(saveFilePath); //转成二进制 Employee model = new Employee(int.Parse(id)); //id 是EmployeeId,这里是模拟字段 bool flag = UploadHelper.SaveEmployeeImg2Db(model, saveFilePath); } catch { //("照片上传失败"); } finally...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C存取二进制图片

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部