使用c#从MySQL插入和检索音频文件

时间:2014-10-27 13:07:35

标签: c# mysql

我成功地将一个音频文件保存在MySQL数据库中,但我不知道如何从数据库中检索和播放它。任何帮助将不胜感激。

这是我的插入代码:

private void button2_Click(object sender, EventArgs e)
{
    try 
    {
        MySqlConnection connection;
        string cs = @"server = 127.0.0.1; userid = root; pwd = ; database = atlfmdb;";
        connection = new MySqlConnection(cs);

        if (upload.Text.Length > 0 && 
            vName.Text.Length > 0 && 
            vTel.Text.Length>0 && 
            tbposition.Text.Length>0)
        {
            string FileName = upload.Text;

            byte[] f = File.ReadAllBytes(upload.Text) ;

            MySqlCommand selectcom = new MySqlCommand("insert into interinterview(intName,intPosition,intTel,audioFile)values('" + vName.Text + "','" +  tbposition.Text + "','" + vTel.Text + "','" + f + "')", connection);
            MySqlDataReader myread;

            connection.Open();
            myread = selectcom.ExecuteReader();
            while (myread.Read())
            {
            }

            connection.Close();
            MessageBox.Show("Data saved successfully");
            vName.Text = "";
            vTel.Text = "";
            tbposition.Text = "";
            upload.Text = "";
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();
        openFileDialog1.Filter = "Audio files | *.mp3";

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            upload.Text = openFileDialog1.FileName;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
}
}

1 个答案:

答案 0 :(得分:0)

如果您没有找到解决方案,我已根据此链接中的答案进行了解决: How to play audio file located on server in asp.net

在此链接的末尾,它为您提供Dewplayer zip包的位置。下载并将dewplayer-vol.swf文件放入根文件夹中。

您需要将所有MS SQL命令转换为MySQL并将MySQL.DLL放入bin文件夹中(如果不存在的话)。在我的例子中,我将mp3文件存储为varbinay并使用类似这样的存储过程检索它:

private void BindGrid()
{
  string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["MySqlServer"].ConnectionString;

   using (MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection(connStr))
    {

        using (MySql.Data.MySqlClient.MySqlCommand cmd = new MySql.Data.MySqlClient.MySqlCommand("getaudio", conn))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            conn.Open();
            using (IDataReader idr = cmd.ExecuteReader())
            {
                GridView1.DataSource = idr;
                GridView1.DataBind();
            }
            conn.Close();               
        }
     }
}

此链接中的更多详细信息: http://aspsnippets.com/Articles/Save-MP3-Audio-Files-to-database-and-display-in-ASPNet-GridView-with-Play-and-Download-option.aspx

您需要创建一个说Audio.ashx的文件并将其放入根文件夹中。希望这可以帮到你。