【问题标题】:Saving image file using Fileupoad Control and sqldatasource使用 Fileupoad Control 和 sqldatasource 保存图像文件
【发布时间】:2011-09-28 15:11:59
【问题描述】:

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

我已经采取的步骤

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

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

2.设置更新参数类型为Object

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

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

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

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

“无法将字节[]隐式转换为字符串”在第三步

【问题讨论】:

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


    【解决方案1】:

    尝试在Updating event中设置参数

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

    【讨论】:

      【解决方案2】:

      你应该将数据类型设为 varbinary

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

      【讨论】:

      • DefaultValue 只能输入字符串类型的值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      相关资源
      最近更新 更多