【问题标题】:Inserting an image into MySQL database using file upload control使用文件上传控制将图像插入 MySQL 数据库
【发布时间】:2011-04-20 01:08:02
【问题描述】:

我想使用 Visual Studio 中的文件上传控件将图像插入 MySQL 数据库。我正在使用带有 ODBCc 和 .NET 连接器的 ASP.NET 3.5 和 MySQL 社区服务器。

【问题讨论】:

    标签: asp.net mysql visual-studio


    【解决方案1】:

    这里有一些代码会将发布的文件拉入字节数组。然后它将它传递给 MySQL。假定 varbinary 列数据类型。根据需要进行修改。

    if(FileUploadControl.HasFile)
    {
        try
        {
             byte[] img = new byte[FileUploadControl.PostedFile.ContentLength- 1];
             img = FileUploadControl.FileBytes;
             InsertImg(img);
    
        }
        catch(Exception ex)
        {
        }
    }
    
    ....
    
    public void InsertImg(byte[] img) //untested code
    {
         using (MySqlConnection conn = new MySqlConnection(connString))
         {
             using (MySqlCommand cmd = conn.CreateCommand())
             {
                  cmd.CommandText = @"INSERT INTO MyTable(MyImage) VALUES (@Img)";
                  cmd.Parameters.Add("@Img", System.Data.SqlDbType.VarBinary); //or SqlDbType.Image
                  cmd.Parameters["@Img"].Value = img;
                  conn.Open();
                  cmd.ExecuteNonQuery();
             }
          }
    }
    

    【讨论】:

    • 收到错误Unable to cast object of type 'System.Byte[]' to type 'System.IConvertible'.
    • 尝试将@Img 参数的类型设置为System.Data.SqlDbType.Image
    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 2015-10-04
    相关资源
    最近更新 更多