使用Fileupoad Control和sqldatasource保存图像文件

时间:2011-07-05 08:49:37

标签: c# asp.net sql visual-studio

我想使用sqldatasource将图像文件添加到我的数据库。

我采取的步骤

1.将图像转换为Byte []数组。

Stream fs = FileUpload1.PostedFile.InputStream; 
BinaryReader br = new BinaryReader(fs); 
Byte[] bytes = br.ReadBytes((Int32)fs.Length); 

2.将更新参数类型设置为对象

<UpdateParameters>       
<asp:Parameter Name="File" Type="Object" /> 
</UpdateParameters> 

3.在SqlDataSource控件中添加字节数组作为更新参数。

sqlDataSource.UpdateParameters["File"].DefaultValue = bytes;

但是当我编译这段代码时,它给了我一个错误“给我一个错误

“不能在第三步

隐式地将byte []转换为字符串”

2 个答案:

答案 0 :(得分:3)

尝试在Updating event

中设置参数
private void sqlDataSource_Updating(object sender, SqlDataSourceCommandEventArgs e)
{
    e.Command.Parameters["File"].Value = bytes;
}

答案 1 :(得分:0)

你应该创建数据类型varbinary

并在数据库中创建数据类型varbinary(max)