![]() |
鉴于问的人较多,先贴出代码
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
//得到文件数组
byte[] fileData = FileUpload1.FileBytes;
//得到文件大小
int fileLength = FileUpload1.PostedFile.ContentLength;
//得到文件名字
string fileName = FileUpload1.FileName;
//得到文件类型
string fileType = FileUpload1.PostedFile.ContentType;
//构建数据库连接,SQL语句,创建参数
string strCnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb";
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(strCnString);
String strSql = "INSERT INTO Person (PersonName,PersonImageType,PersonImageFileName,PersonImageSize,PersonImage)" +
"VALUES (@PersonName,@PersonImageType,@PersonImageFileName,@PersonImageSize,@PersonImage)";
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(strSql, myConnection);
command.Parameters.AddWithValue("@PersonName", TextBox1.Text);
command.Parameters.AddWithValue("@PersonImageType", fileType);
command.Parameters.AddWithValue("@PersonImageFileName", fileName);
command.Parameters.AddWithValue("@PersonImageSize", fileLength);
command.Parameters.AddWithValue("@PersonImage", fileData);
//打开连接,执行查询
myConnection.Open();
command.ExecuteNonQuery();
myConnection.Close();
Response.Redirect(Request.FilePath);
}
protected void Page_Load(object sender, EventArgs e)
{
//显示图片:
//构建数据库连接,SQL语句,创建参数
string strCnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb";
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(strCnString);
String strSql = "select * from Person";
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(strSql, myConnection);
//打开连接,执行查询
myConnection.Open();
System.Data.OleDb.OleDbDataReader dr = command.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();
myConnection.Close();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
输入文字:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文字和图片" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="PersonName" />
<asp:ImageField DataImageUrlField="PersonId" DataImageUrlFormatString="ShowImage.aspx?id={0}"/>
</Columns>
</asp:GridView>
</form>
</body>
</html>
显示图片
<%@ Page Language="C#" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
int id = 0;
if (Int32.TryParse(Request.QueryString["id"], out id))
{
string strCnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb";
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(strCnString);
String strSql = "select PersonImageType,PersonImage from Person Where PersonId=@id";
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand(strSql, myConnection);
command.Parameters.AddWithValue("@id", id);
//打开连接,执行查询
myConnection.Open();
System.Data.OleDb.OleDbDataReader dr = command.ExecuteReader();
if (dr.Read())
{
byte[] image = (byte[])dr["PersonImage"];
Response.ClearContent();
Response.ContentType = dr["PersonImageType"].ToString();
Response.BinaryWrite(image);
Response.End();
}
else
{
OutPutNonePicture();
}
dr.Close();
myConnection.Close();
myConnection.Dispose();
}
else
{
OutPutNonePicture();
}
}
/// <summary>
/// 对于不存在的图片,输出none.gif
/// </summary>
private void OutPutNonePicture()
{
Response.ClearContent();
Response.ContentType = "image/gif";
Response.WriteFile(Server.MapPath("~/none.gif"));
Response.End();
}
</script>
VB.NET版本
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
'得到文件数组
Dim fileData As Byte() = FileUpload1.FileBytes
'得到文件大小
Dim fileLength As Integer = FileUpload1.PostedFile.ContentLength
'得到文件名字
Dim fileName As String = FileUpload1.FileName
'得到文件类型
Dim fileType As String = FileUpload1.PostedFile.ContentType
'构建数据库连接,SQL语句,创建参数
Dim strCnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb"
Dim myConnection As New System.Data.OleDb.OleDbConnection(strCnString)
Dim strSql As String = "INSERT INTO Person (PersonName,PersonImageType,PersonImageFileName,PersonImageSize,PersonImage)" & _
"VALUES (@PersonName,@PersonImageType,@PersonImageFileName,@PersonImageSize,@PersonImage)"
Dim command As New System.Data.OleDb.OleDbCommand(strSql, myConnection)
command.Parameters.AddWithValue("@PersonName", TextBox1.Text)
command.Parameters.AddWithValue("@PersonImageType", fileType)
command.Parameters.AddWithValue("@PersonImageFileName", fileName)
command.Parameters.AddWithValue("@PersonImageSize", fileLength)
command.Parameters.AddWithValue("@PersonImage", fileData)
'打开连接,执行查询
myConnection.Open()
command.ExecuteNonQuery()
myConnection.Close()
Response.Redirect(Request.FilePath)
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'显示图片:
'构建数据库连接,SQL语句,创建参数
Dim strCnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb"
Dim myConnection As New System.Data.OleDb.OleDbConnection(strCnString)
Dim strSql As String = "select * from Person"
Dim command As New System.Data.OleDb.OleDbCommand(strSql, myConnection)
'打开连接,执行查询
myConnection.Open()
Dim dr As System.Data.OleDb.OleDbDataReader = command.ExecuteReader()
GridView1.DataSource = dr
GridView1.DataBind()
myConnection.Close()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
输入文字:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传文字和图片" />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="PersonName" />
<asp:ImageField DataImageUrlField="PersonId" DataImageUrlFormatString="ShowImage.aspx?id={0}"/>
</Columns>
</asp:GridView>
</form>
</body>
</html>
显示图片
<%@ Page Language="VB" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim id As Integer = 0
If Int32.TryParse(Request.QueryString("id"), id) Then
Dim strCnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Image2Access.mdb"
Dim myConnection As New System.Data.OleDb.OleDbConnection(strCnString)
Dim strSql As [String] = "select PersonImageType,PersonImage from Person Where PersonId=@id"
Dim command As New System.Data.OleDb.OleDbCommand(strSql, myConnection)
command.Parameters.AddWithValue("@id", id)
'打开连接,执行查询
myConnection.Open()
Dim dr As System.Data.OleDb.OleDbDataReader = command.ExecuteReader()
If dr.Read() Then
Dim image As Byte() = DirectCast(dr("PersonImage"), Byte())
Response.ClearContent()
Response.ContentType = dr("PersonImageType").ToString()
Response.BinaryWrite(image)
Response.End()
Else
OutPutNonePicture()
End If
dr.Close()
myConnection.Close()
myConnection.Dispose()
Else
OutPutNonePicture()
End If
End Sub
''' <summary>
''' 对于不存在的图片,输出none.gif
''' </summary>
Private Sub OutPutNonePicture()
Response.ClearContent()
Response.ContentType = "image/gif"
Response.WriteFile(Server.MapPath("~/none.gif"))
Response.End()
End Sub
</script>
<%
Dim conn, rs, sql, cs
cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("Image2Access.mdb")
Set conn = Server.CreateObject("ADODB.connection")
conn.Open cs
PersonID = Trim(Request.QueryString("PersonID"))
If IsNumeric(PersonID) = False Then
Response.Write "无效的id" '或者显示none.gif
Response.End
End If
sql="select PersonImageType,PersonImage from Person where PersonID=" & PersonID
Set rs = conn.Execute(sql)
If rs.EOF Then
Response.Write "没有得到记录" '或者显示none.gif
Else
Response.Clear
Response.ContentType = rs("PersonImageType")
Response.BinaryWrite rs.Fields("PersonImage").getChunk(rs.Fields("PersonImage").ActualSize)
End If
rs.Close
Set rs = Nothing
Set conn = Nothing
Response.End
%>