工作中经常需要用到图片上传功能,传统的存服务器目录方式在服务器迁移、部署和各种平台交互时操作不太方便,而图片资源存数据库是相对比较方便维护的方式了!以下贴出用C#存储和读取图片资源的一些方法:
/* ----------------------------------------------------------------------------
* 上传图片类
* 先读取图片资源转换成base64字节,再转换成字符串存库,无需上传文件到服务器目录
* ----------------------------------------------------------------------------
*/
using System.IO;
/*
* 提交数据部分
*/
int l = file_img1.PostedFile.ContentLength;
byte[] buffer = new byte[l];
Stream s = file_img1.PostedFile.InputStream;
try
{
s.Read(buffer, 0, l);
string imgByte = Convert.ToBase64String(buffer);
}
catch (Exception ex)
{
s.Close();
s.Dispose();
throw ex;
}
finally
{
s.Close();
s.Dispose();
}
string sqlText = string.Format("insert into tb_image(id,imgByte) values({0},'{1})", id, imgByte);
//保存到数据库...
/* -------------------------------------------