在csdn上泡了几乎一夜,将图片上传到数据库(access)实现了,可是无论我怎么努力,也不能正常显示,老是有问题,请各位高人帮我看一下吧,先谢谢了.附代码:<%@ Page Language="VB" ContentType = "image/gif"%>
<%@ Import Namespace="system.data.oledb" %>
<%@ Import Namespace = "System.Drawing" %>
<%@ Import Namespace ="System.Data" %>
<%@ Import Namespace= "System.io" %>
<%@ Import Namespace = "System.Drawing.Imaging" %><script runat="server">
Sub page_load()
Dim strConString, strchkuser As String Dim conStr As OleDbConnection
Dim cmdchkuser As OleDbCommand
Dim objctbg As Bitmap
Dim FileByte() As Byte
strConString = ConfigurationManager.ConnectionStrings("conString").ConnectionString
conStr = New OleDbConnection(strConString)
strchkuser = "Select BinImage From image Where ImageID=102"
cmdchkuser = New OleDbCommand(strchkuser, conStr)
conStr.Open() FileByte = cmdchkuser.ExecuteScalar() Dim mStream As New MemoryStream(FileByte)
mStream.Write(FileByte, 0, FileByte.Length)
objctbg = New Bitmap(mstream) objctbg.Save(Response.OutputStream, ImageFormat.Gif) conStr.Close() End Sub
</script>注:开发环境 vs2005英文版,xpsp2中文版,asp.net2.0,vb.net
<%@ Import Namespace="system.data.oledb" %>
<%@ Import Namespace = "System.Drawing" %>
<%@ Import Namespace ="System.Data" %>
<%@ Import Namespace= "System.io" %>
<%@ Import Namespace = "System.Drawing.Imaging" %><script runat="server">
Sub page_load()
Dim strConString, strchkuser As String Dim conStr As OleDbConnection
Dim cmdchkuser As OleDbCommand
Dim objctbg As Bitmap
Dim FileByte() As Byte
strConString = ConfigurationManager.ConnectionStrings("conString").ConnectionString
conStr = New OleDbConnection(strConString)
strchkuser = "Select BinImage From image Where ImageID=102"
cmdchkuser = New OleDbCommand(strchkuser, conStr)
conStr.Open() FileByte = cmdchkuser.ExecuteScalar() Dim mStream As New MemoryStream(FileByte)
mStream.Write(FileByte, 0, FileByte.Length)
objctbg = New Bitmap(mstream) objctbg.Save(Response.OutputStream, ImageFormat.Gif) conStr.Close() End Sub
</script>注:开发环境 vs2005英文版,xpsp2中文版,asp.net2.0,vb.net
解决方案 »
- 怎么更改RadioButtonList的CSS样式
- 用存储过程分页的问题
- 客户端上传附件到服务器失败,所用控件为fileupload,详细内容请点我!
- 在asp.net中有没有办法将该xml文档的数据紧凑起来?
- asp.net学习图书介绍!!!!!
- Attributes问题
- A页面datagrid中的table1表如何复制到B页面datagrid中的table2表(急!)
- 基于B/S用asp.net编的网页能否用crystalreports打印报表
- Label控件无法正常显示中文
- 求救
- 如何去掉在FREETEXTBOX中的WORD的标记,急请各位高手帮忙
- 请教关于repeater中使用HyperLink的问题
if(myFile.ContentLength != 0)
{
try
{
System.Web.HttpPostedFile myFile = this.Request.Files[0];
// string tmpFileName = myFile.FileName;
// string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf("."));
// string myFileMimeType = myFile.ContentType();
// myFile.SaveAs(this.Server.MapPath("../" + myFileName)); //读取到数组里面
System.IO.Stream mystream = myFile.InputStream;
byte[] Buffer = new byte[myFile.ContentLength];
mystream.Read(Buffer,0,myFile.ContentLength); //打开数据库
OracleConnection cn = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
cn.Open(); //用参数方式写入数据库
OracleCommand myComm = cn.CreateCommand();
string sql = "insert into tmp(tmp_id,tmp_blob) values(tmp_seq.nextval,:tmp_blob)";
myComm.CommandText = sql;
myComm.Parameters.Add(":tmp_blob",OracleType.Blob,Buffer.Length).Value = Buffer;
myComm.ExecuteNonQuery();
}
catch
{
//此处可加错误显示
}
finally
{
cn.Close();
}
}
在页面中,放一个Image控件,在后台指定它的链接地址如下:
----------------------------------------------------------------------
//为方便,写一个固定ID号tmp_id=103
this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;
下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
--------------------------------------------------------------------
//创建数据库连接
OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
myConnection.Open();//打开数据库
OracleCommand myCommand = myConnection.CreateCommand();
string sql = "select tmp_blob from tmp where tmp_id = 103";
myCommand.CommandText = sql;
OracleDataReader myRead = myCommand.ExecuteReader();//开始读取
myRead.Read();
//这个方法更直接
Byte[] Buffer = (Byte[])myRead[0];
//OracleLob myLob = myRead.GetOracleLob(0);
//长度是long,转为int32
//int myLength = Convert.ToInt32(myLob.Length);
//Byte[] Buffer = new byte[myLength];
//myLob.Read(Buffer,0,myLength);//输出
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();
hchxxzx(NET?摸到一点门槛)以后用就有的参考了