SQL脚本语言:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ImageStore]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[ImageStore] GO
CREATE TABLE [dbo].[ImageStore] ( [ImageID] [int] IDENTITY (1, 1) NOT NULL , [ImageData] [image] NULL , [ImageContentType] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL , [ImageDescription] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL , [ImageSize] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO |
前台ASPX:
<%@ Page Language="C#" %> <%@ Import Namespace="Platform.UserControl" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>上传附件</title> </head>
<body> <form name="uploadForm" method="post" enctype="multipart/form-data" action="addAction.aspx"> <input type="file" id="imgFile" name="imgFile" style="width:220px;" /> <input type="submit" value="上传" /> </form> </body> </html>
|
后台ASPX:
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <% Int32 FileLength = 0; //记录文件长度变量 HttpPostedFile UpFile = Request.Files["imgFile"]; FileLength = UpFile.ContentLength; //记录文件长度
try { if (FileLength == 0) { //文件长度为零时 Response.Write("<b>请选择要上传的文件</b>"); } else { Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组 Stream StreamObject = UpFile.InputStream; //建立数据流对像 //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度 StreamObject.Read(FileByteArray, 0, FileLength); //建立SQL Server链接 SqlConnection Con = new SqlConnection("data source=mypc;Initial Catalog=pubs;User ID=sa;Password=ddxkj");//定义数据库连接对象 //定义数据库查询字符串 String SqlCmd = "INSERT INTO ImageStore (ImageData, ImageContentType,ImageDescription, ImageSize) valueS (@Image, @ContentType,@ImageDescription, @ImageSize)"; SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);//定义SqlCommand对象 CmdObj.Parameters.Add("@Image", SqlDbType.Binary, FileLength).Value = FileByteArray;//记录图片信息 CmdObj.Parameters.Add("@ContentType", SqlDbType.VarChar, 50).Value = UpFile.ContentType; //记录文件类型 CmdObj.Parameters.Add("@ImageDescription", SqlDbType.VarChar, 200).Value = "这是测试";//记录图片说明信息 CmdObj.Parameters.Add("@ImageSize", SqlDbType.BigInt, 8).Value = UpFile.ContentLength; //记录文件长度,读取时使用 Con.Open();//打开数据库 CmdObj.ExecuteNonQuery();//执行数据库插入操作 Con.Close();//关闭数据库连接 Response.Write("<p><b>成功上传图片</b>");//提示上传成功 } } catch (Exception ex) { Response.Write(ex.Message.ToString());//显示错误信息 } %> |