文件上传到数据库

创建表
None.gif CREATE   TABLE   [ FileTable ]  (
None.gif    
[ FileID ]   [ int ]   IDENTITY  ( 1 1 NOT   NULL  ,
None.gif    
[ FileData ]   [ image ] ,
None.gif    
[ FileContentType ]   [ varchar ]  ( 50 ) ,
None.gif    
[ FileDescription ]   [ varchar ]  ( 200 ) ,
None.gif    
[ FileSize ]   [ int ]   NULL  
None.gif)
页面代码
None.gif < h3 > 保存文件到SQL Server数据库示例 </ h3 >
None.gif            请选择要上传的文件:
< input  id ="UP_FILE"  type ="file"  size ="24"  name ="UP_FILE"  runat ="server" >
None.gif            
< br >
None.gif            
< br >
None.gif            请输入文件说明:
< asp:textbox  id ="txtDescription"  Runat ="server" ></ asp:textbox >
None.gif            
< br >
None.gif            
< br >
None.gif            
< asp:button  id ="SubmitButton"  Runat ="server"  Text ="上传文件"  Width ="239" ></ asp:button >
None.gif            
< br >
None.gif            
< br >
None.gif            
< asp:label  id ="txtMessage"  Runat ="server"  ForeColor ="red" ></ asp:label >< br >
None.gif            
< br >
None.gif            
< br >
上传文件事件代码
None.gif private   void  SubmitButton_Click( object  sender, System.EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
// HttpPostedFile对象,用于读取文件属性
InBlock.gif
            HttpPostedFile UpFile = UP_FILE.PostedFile;
InBlock.gif
InBlock.gif            
// FileLength 变量存储文件的字节大小
InBlock.gif
            int FileLength = UpFile.ContentLength;
InBlock.gif
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
if (FileLength == 0)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    txtMessage.Text 
= "<b>您未选择上传的文件</b>";
ExpandedSubBlockEnd.gif                }

InBlock.gif                
else
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
// 创建存储文件的临时 Byte 数组
InBlock.gif
                    Byte[] FileByteArray = new Byte[FileLength];
InBlock.gif
InBlock.gif                    
// 建立数据流对象
InBlock.gif
                    Stream StreamObject = UpFile.InputStream;  
InBlock.gif    
InBlock.gif                    
// 读取文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
InBlock.gif
                    StreamObject.Read(FileByteArray,0,FileLength);   
InBlock.gif
InBlock.gif                    
// 数据库操作
InBlock.gif
                    string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
InBlock.gif                    
string query = "INSERT INTO FileTable (FileData, FileContentType, FileDescription, FileSize) VALUES (@FileData, @FileContentType, @FileDescription, @FileSize)";
InBlock.gif                    SqlCommand myCommand 
= new SqlCommand(query, new SqlConnection(ConnStr));
InBlock.gif
InBlock.gif                    
// 添加各项参数并赋值
InBlock.gif
                    myCommand.Parameters.Add("@FileData", SqlDbType.Image);
InBlock.gif                    myCommand.Parameters.Add(
"@FileContentType", SqlDbType.VarChar, 50);
InBlock.gif                    myCommand.Parameters.Add(
"@FileDescription", SqlDbType.VarChar, 200);
InBlock.gif                    myCommand.Parameters.Add(
"@FileSize", SqlDbType.BigInt);
InBlock.gif                    myCommand.Parameters[
"@FileData"].Value = FileByteArray;
InBlock.gif                    myCommand.Parameters[
"@FileContentType"].Value = UpFile.ContentType;
InBlock.gif                    myCommand.Parameters[
"@FileDescription"].Value = txtDescription.Text;
InBlock.gif                    myCommand.Parameters[
"@FileSize"].Value = FileLength;
InBlock.gif                    
InBlock.gif                    
// 执行数据库操作
InBlock.gif
                    myCommand.Connection.Open();
InBlock.gif                    myCommand.ExecuteNonQuery();
InBlock.gif                    myCommand.Connection.Close();
InBlock.gif
InBlock.gif                    
// 提示上传成功
InBlock.gif
                    txtMessage.Text = "<b>上传文件成功</b>";
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }
 
InBlock.gif            
catch (Exception ex) 
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
// 使用 Label 标签显示异常
InBlock.gif
                txtMessage.Text = ex.Message.ToString();
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/timsoft/articles/421550.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值