将图片保存到ORACEL数据库和读取数据显示到页面
2006-08-25 23:32
811 查看
一.读取客户端文件,返回Byte[]
/**//// <summary>
/// 读取客户端图片文件
/// </summary>
/// <param name="input">HtmlInputFile控件</param>
/// <returns>返回文件的Byte值</returns>
private byte[] UpLoadFile(HtmlInputFile input,TextBox txtPhotoPath)
...{
byte[] btImage = null;
if(input.Value != String.Empty && input.Value == txtPhotoPath.Text)
...{
try
...{
System.IO.Stream streamImage = input.PostedFile.InputStream ;
btImage = new byte[streamImage.Length];
streamImage.Read(btImage,0,(int)streamImage.Length);
}
catch(Exception e)
...{
throw new Exception(e.Message,e);
}
}
return btImage;
}
二.添加到ORACLE数据
/**//// <summary>
/// 添加图片至数据库
/// </summary>
/// <param name="btImge">图片二进制数据</param>
/// <returns></returns>
public string GetUpdateSQL(Byte[] btImge)
...{
string UpdateSql = null;
Database db = DatabaseFactory.CreateDatabase();
using (IDbConnection conn = db.GetConnection())
...{
DBCommandWrapper dbCmd = db.GetStoredProcCommandWrapper(sqlMag.GetSQL("getupdatesql"));
dbCmd.AddParameter("Image",OracleType.LongRaw,btImage.Length,ParameterDirection.Input,
true,0,0,"FileText",DataRowVersion.Default,btImge);
db.ExecuteNonQuery(dbCmd);
}
}
三.在页面上显示
/// <summary>
/// 取得用户照片信息
/// </summary>
private void GetStaffPhoto()
{
//从数据库中取得数据
DBDycnamicCreateControls dyc = new DBDycnamicCreateControls(_sourceId,1);
DataSet ds = dyc.QuerySingleRecordData(_recordId);
try
{
//存为内存流
Stream streamImg = new MemoryStream((byte[])ds.Tables[0].Rows[0][_fieldName]);
//保存到图片中
System.Drawing.Bitmap imgPhoto = new System.Drawing.Bitmap(streamImg,true);
//保存到位图中,并输出到页面
imgPhoto.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(Exception ee)
{
throw new Exception(ee.Message,ee);
}
}
/**//// <summary>
/// 读取客户端图片文件
/// </summary>
/// <param name="input">HtmlInputFile控件</param>
/// <returns>返回文件的Byte值</returns>
private byte[] UpLoadFile(HtmlInputFile input,TextBox txtPhotoPath)
...{
byte[] btImage = null;
if(input.Value != String.Empty && input.Value == txtPhotoPath.Text)
...{
try
...{
System.IO.Stream streamImage = input.PostedFile.InputStream ;
btImage = new byte[streamImage.Length];
streamImage.Read(btImage,0,(int)streamImage.Length);
}
catch(Exception e)
...{
throw new Exception(e.Message,e);
}
}
return btImage;
}
二.添加到ORACLE数据
/**//// <summary>
/// 添加图片至数据库
/// </summary>
/// <param name="btImge">图片二进制数据</param>
/// <returns></returns>
public string GetUpdateSQL(Byte[] btImge)
...{
string UpdateSql = null;
Database db = DatabaseFactory.CreateDatabase();
using (IDbConnection conn = db.GetConnection())
...{
DBCommandWrapper dbCmd = db.GetStoredProcCommandWrapper(sqlMag.GetSQL("getupdatesql"));
dbCmd.AddParameter("Image",OracleType.LongRaw,btImage.Length,ParameterDirection.Input,
true,0,0,"FileText",DataRowVersion.Default,btImge);
db.ExecuteNonQuery(dbCmd);
}
}
三.在页面上显示
/// <summary>
/// 取得用户照片信息
/// </summary>
private void GetStaffPhoto()
{
//从数据库中取得数据
DBDycnamicCreateControls dyc = new DBDycnamicCreateControls(_sourceId,1);
DataSet ds = dyc.QuerySingleRecordData(_recordId);
try
{
//存为内存流
Stream streamImg = new MemoryStream((byte[])ds.Tables[0].Rows[0][_fieldName]);
//保存到图片中
System.Drawing.Bitmap imgPhoto = new System.Drawing.Bitmap(streamImg,true);
//保存到位图中,并输出到页面
imgPhoto.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch(Exception ee)
{
throw new Exception(ee.Message,ee);
}
}
相关文章推荐
- struts保存图片到数据库 ,从数据库中读取图片显示到页面
- 读取数据库中数据,在页面上直接显示图片(点击该图片变大)
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- 如何将pictureBox里的图片保存到数据库,然后从数据读取显示
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- Asp.net中图片存储数据库以及页面读取显示通用方法详解-附源码下载
- Asp.net中图片存储数据库以及页面读取显示通用方法详解
- 图片保存到数据库和从数据库读取图片并显示(C#)
- Asp.net中图片存储数据库以及页面读取显示通用方法详解
- WPF——图片的预览,以流的方式将图片保存在数据库中,再以流的方式从数据库中读取显示图片
- 加密字符串与图片保存于数据库,并显示读取显示
- SpringMVC从数据库中读取图片显示到JSP页面上
- 从数据库中读取二进制数据,并显示图片
- 图片保存到数据库和从数据库读取图片并显示(转)
- 如何读取保存在数据库中的图片显示在DataGrid中
- 小黑小波比.从数据库读取的图片在页面上显示
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- 图片保存到数据库和从数据库读取图片并显示(C#)
- 如何在jsp页面中显示BLOB保存的图片数据
- C#l图片保存到数据库和从数据库读取图片并显示