Showing posts with label You tube video save with image. Show all posts
Showing posts with label You tube video save with image. Show all posts

Saturday, 16 April 2016

Upload youtube video and video thumbnail in database using asp.net


Upload youtube video and video thumbnail in database using asp.net

Create database like this 














<section id="main" class="column">
  <article class="module width_full">
<header><h3>  Add Video</h3></header>
           <div class="row">
                <div class="col-lg-12">
<div class="module_content">
<table class="xx" cellpadding="5px" style="line-height:30px">
        <colgroup>
            <col width="25%" />
            <col width="25%" />
            <col width="25%" />
            <col width="25%" />
       </colgroup>
        <tr>
            <td colspan="2">
                <span style="font-size:20PX">Video</span>
            </td>
            <td colspan="2" align="right">
                <asp:Label runat="server" ID="lbltime"></asp:Label>
            </td>
        </tr>
        <tr>
            <td>
                <asp:HiddenField runat="server" ID="hdf1" />
            </td>
        </tr>
        <tr>
            <td>
                Id
            </td>
            <td>
                <asp:TextBox runat="server" ID="txtid" Enabled="false"></asp:TextBox>
            </td>
            <td>
               Name
            </td>
            <td>
                <asp:TextBox runat="server" ID="txtname"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtname" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td valign="top">
               Video Value
            </td>
            <td valign="top">
                <asp:TextBox runat="server" ID="txtvalue"></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtvalue" ErrorMessage="*" ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
            <td valign="top">
                Discription
            </td>
            <td valign="top">
                <asp:TextBox runat="server" ID="txtdisc" TextMode="MultiLine" Height="100px"></asp:TextBox>
            </td>
         
        </tr>
        <tr>
            <td colspan="2">
            </td>
            <td colspan="2" align="right">
                   <asp:Button runat="server" ID="btnsave" CssClass="btn" Text="Save"
                       onclick="btnsave_Click" />
                   <asp:Button runat="server" ID="btnupdate" CssClass="btn" Text="Update"
                       onclick="btnupdate_Click" />
            </td>
        </tr>
        <tr>
            <td colspan="4">
                <asp:Label runat="server" ID="lblmsg" ForeColor="Red" Font-Bold="true"></asp:Label>
            </td>
        </tr>
        <tr>
            <td colspan="4" align="center">
                <asp:GridView ID="GrdEmp" runat="server" AutoGenerateColumns="False"
                DataKeyNames="id" AllowPaging="True" class="table table-striped table-bordered table-hover"
                onpageindexchanging="GrdEmp_PageIndexChanging"
                onrowdeleting="GrdEmp_RowDeleting"
                onselectedindexchanged="GrdEmp_SelectedIndexChanged"  BorderStyle="None" BorderWidth="1px" CellPadding="4"
                ForeColor="Black" GridLines="Horizontal">
                <Columns>
                    <asp:TemplateField HeaderText="Select" ShowHeader="False">
                         <ItemTemplate>
                              <asp:LinkButton ID="LnkSelect" runat="server" CausesValidation="False"
                                CommandName="Select" Text="Select" CommandArgument='<%#Bind("id")%>' ToolTip="Edit Here"></asp:LinkButton>
                               </ItemTemplate>
                     </asp:TemplateField>
                     <asp:TemplateField HeaderText="Delete" ShowHeader="False">
                         <ItemTemplate>
                             <asp:ImageButton ID="LnkDelete" OnClientClick="javascript:return confirm('Are you sure want to delete?')" runat="server" CausesValidation="true" CommandName="Delete" Text="Delete" ImageUrl="img/Cancel.jpg" CommandArgument='<%#Bind("id")%>'  Height="18px" ToolTip="Delete"></asp:ImageButton>
                          </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Image" >
                         <ItemTemplate>
                         <asp:Image runat="server" ID="img" ImageUrl='<%#Bind("Image")%>' Width="150"/>
                         </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField HeaderText="Title" DataField="title" />
                    <asp:BoundField HeaderText="Value" DataField="value" />
                    <asp:BoundField HeaderText="Description" DataField="Desci" />
               
                   
                </Columns>
             
            </asp:GridView>
            </td>
        </tr>
    </table>
        </div>
        </div>
        </div>
        </article>
    </section>

code behind C#




using System;
using System.Data;
using System.Configuration;
using System.Collections.Generic;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Drawing;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Data.SqlClient;
using System.IO;
using System.Net;
public partial class Admin_AddVideo : System.Web.UI.Page
{
    private static TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["CS"].ConnectionString);
    protected void Page_Load(object sender, EventArgs e)
    {
        bindgrd(); DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE);
        bindgrd();
        lbltime.Text = indianTime.ToString("h:mm:tt");
    }
    public string getYouTubeThumbnail(string YoutubeUrl)
    {
        string youTubeThumb = string.Empty;
        if (YoutubeUrl == "")
            return "";

        if (YoutubeUrl.IndexOf("=") > 0)
        {
            youTubeThumb = YoutubeUrl.Split('=')[1];
        }
        else if (YoutubeUrl.IndexOf("/v/") > 0)
        {
            string strVideoCode = YoutubeUrl.Substring(YoutubeUrl.IndexOf("/v/") + 3);
            int ind = strVideoCode.IndexOf("?");
            youTubeThumb = strVideoCode.Substring(0, ind == -1 ? strVideoCode.Length : ind);
        }
        else if (YoutubeUrl.IndexOf('/') < 6)
        {
            youTubeThumb = YoutubeUrl.Split('/')[3];
        }
        else if (YoutubeUrl.IndexOf('/') > 6)
        {
            youTubeThumb = YoutubeUrl.Split('/')[1];
        }

        return "http://img.youtube.com/vi/" + youTubeThumb + "/mqdefault.jpg";
    }  
    void uploadvideo()
    {
        try
        {
            con.Open();
            string thumbnail = getYouTubeThumbnail("https://www.youtube.com/v/" + txtvalue.Text+"").ToString();
            SqlCommand cmd = new SqlCommand("insert into tbl_video values (@title,@Image, @value, @Desci)", con);
            cmd.Parameters.AddWithValue("@title", txtname.Text);
            cmd.Parameters.AddWithValue("@Image", thumbnail.ToString());
            cmd.Parameters.AddWithValue("@value", "https://www.youtube.com/v/" + txtvalue.Text + "?version=3&loop=1&playlist=" + txtvalue.Text);
            cmd.Parameters.AddWithValue("@Desci", txtdisc.Text);
            cmd.ExecuteNonQuery();
            lblmsg.Text = "Video Has Been Uploaded";
            con.Close();
        }
        catch (Exception ex)
        {
        }
    }
    void bindgrd()
    {
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("select * from tbl_Video order by id desc", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                GrdEmp.DataSource = dt;
                GrdEmp.DataBind();
            }
            else
            {
                dt.Rows.Add(dt.NewRow());
                GrdEmp.DataSource = dt;
                GrdEmp.DataBind();
                int columncount = GrdEmp.Rows[0].Cells.Count;
                GrdEmp.Rows[0].Cells.Clear();
                GrdEmp.Rows[0].Cells.Add(new TableCell());
                GrdEmp.Rows[0].Cells[0].ColumnSpan = columncount;
                GrdEmp.Rows[0].Cells[0].Text = "There is no record in your DataBase..";
            }
            con.Close();
        }
        catch (Exception ex)
        {
        }
    }


    protected void GrdEmp_SelectedIndexChanged(object sender, EventArgs e)
    {
        try
        {
            btnsave.Enabled = false;
            LinkButton LnkSelect = (LinkButton)GrdEmp.SelectedRow.FindControl("LnkSelect");
            string id = LnkSelect.CommandArgument.ToString();
            hdf1.Value = id;
            con.Open();
            SqlCommand cmd = new SqlCommand("Select * from tbl_video where id = " + id + "", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                txtid.Text = dt.Rows[0]["id"].ToString();
                txtname.Text = dt.Rows[0]["title"].ToString();
                txtvalue.Text = dt.Rows[0]["value"].ToString();
                txtdisc.Text = dt.Rows[0]["Desci"].ToString();
                // txtJdate.Text = dt.Rows[0]["Em_Joiningdate"].ToString();
                //txtSlary.Text = dt.Rows[0]["jt"].ToString();
                //ddlPosition.Items[0].Value= dt.Rows[0]["Position"].ToString();
            }
            else
            {
                lblmsg.Text = "There is no record..";
            }
            con.Close();

        }
        catch (Exception ex)
        {
            //lblmsg.ForeColor = Color.Red;
            lblmsg.Text = "Error..!!!";
        }
        finally
        {
            con.Close();
        }
    }
    protected void GrdEmp_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        try
        {
            GridViewRow grdRow = (GridViewRow)GrdEmp.Rows[e.RowIndex];
            ImageButton LnkDelete = (ImageButton)grdRow.FindControl("LnkDelete");
            con.Open();
            string id = LnkDelete.CommandArgument.ToString();
            SqlCommand cmd = new SqlCommand("delete from tbl_video where id = " + id + "", con);
            int i = cmd.ExecuteNonQuery();
            if (i > 0)
            {
                // lblmsg.ForeColor = Color.Red; ;
                lblmsg.Text = "Record has been deleted";

            }
            con.Close();
            bindgrd();
        }
        catch (Exception ex)
        {
            //lblmsg.ForeColor = Color.Red; ;
            lblmsg.Text = "Error";
        }
        finally
        {
            con.Close();
        }
    }
    protected void GrdEmp_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GrdEmp.PageIndex = e.NewPageIndex;
        bindgrd();
    }
    void update()
    {
        try
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("update tbl_video set name=N'" + txtname.Text + "', value='" + txtvalue.Text + "', time='" + lbltime.Text + "'  where id = '" + txtid.Text + "'", con);
            int i = cmd.ExecuteNonQuery();
            if (i > 0)
            {
                lblmsg.Text = "Record Has been Updated";
            }
            con.Close();
        }
        catch (Exception ex)
        {
        }
    }
    protected void btnsave_Click(object sender, EventArgs e)
    {
        uploadvideo();
        bindgrd();
        txtname.Text = "";
        txtvalue.Text = "";
    }
    protected void btnupdate_Click(object sender, EventArgs e)
    {
        update();
        bindgrd();
        txtvalue.Text = "";
        txtname.Text = "";

    }
    void ClearInputs(ControlCollection ctrls)
    {
        foreach (Control ctrl in ctrls)
        {
            if (ctrl is TextBox)
                ((TextBox)ctrl).Text = string.Empty;
            ClearInputs(ctrl.Controls);
        }
    }
}

This code help to save Youtube video thumbnail and video to sql server .