ASP.NET VIDEO KAYDI

Asp.Net ile bir video yükleme sayfası oluşturmak ve video, resim, içerik girerek bunları veritabanına kaydetmek. Kayıtlı olan video kayıtlarını listelemek ve oynatmak.


Web sitelerinde en çok kullanıcı çeken öğelerden birisi de video lardır. İyi hazırlanmış anlatıcı ve sıkmayan videolar çok sayıda ziyaretçi ve beğeni almaktadır.

Bu makalede asp.net ile video yükleme ve oynatma konusunu işleyeceğim.

Kodları vermeden önce anlatmak istediğim birkaç şey var. Bu uygulama bir video yükleme sayfası ve birde video listeleme ve oynatma sayfasından oluşuyor. Video yu yükleyip sayfada listelediğinizde üzerine tıklana video açılıyor.

Normalde bu uygulama bir bağlantı class’ı, bir kayıt class’ı, bir admin paneli ve birde ana dizinde bir sayfa olmak üzere 4 sayfa dan oluşacaktı, ancak kodları bu kadar dağınık vermem anlaşılmasını ve takip edilmesini zorlayabilir düşüncesi ile class ve admin paneli kullanmadan 2 sayfa da video yükleme ve gösterme işlemini anlattım. Siz bu uygulamayı profesyonelce yazmaya başladığınızda, bir admin paneli yapacak bu admin panelinde "MedyaLoad.aspx" sayfasını oluşturacaksınız. İki adet class oluşturarak birine "ConnectSB()" fonksiyonunu ve "CloseSB()" fonksiyonunu, diğerine "VideoKayit()" fonksiyonunu atacaksınız. Böylece sayfalar ve fonksiyonlar birbirine karışmadan ve tekrar tekrar yazılmadan uygulama yapılmış olacak.

Bu arada web.config dosyasınıda ayarlamanız gerek. Bu dosyayı da en altta verdim. httpRuntime ve System.Webserver kısımlarına dikkat edin.

Kolay gelsin.

MedyaLoad.aspx Markup Kodları

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MedyaLoad.aspx.cs" Inherits="Admin_MedyaLoad" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div style="margin-top:100px; margin-left:250px">
        <table border="1">
            <tr>
                <td>Video Seçimi</td>
                <td><asp:FileUpload ID="medyaup" runat="server" /></td>
            </tr>
            <tr>
                <td>Resim Seçimi</td>
                <td><asp:FileUpload ID="ImageUp" runat="server" /></td>
            </tr>
            <tr>
                <td>Başlık Giriniz</td>
                <td>
                    <asp:TextBox ID="BaslikText" runat="server"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Label ID="medyalabel" runat="server" ForeColor="Red" Text=""></asp:Label>
                </td>
                
            </tr>
            <tr>
                <td colspan="2">
                    <asp:Button ID="MedyaSave" runat="server" Text="KAYDET" OnClick="MedyaSave_Click" />
                </td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>


MedyaLoad.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
public partial class Admin_MedyaLoad : System.Web.UI.Page
{
    SqlConnection sqlbaglanti;
    SqlCommand SqlCmdSb;
    SqlDataAdapter SntAdtp;
    DataSet xdset;
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void MedyaSave_Click(object sender, EventArgs e)
    {
        SaveSnb Kayit = new SaveSnb();
        string mesaj = "";
        string baslik;
        baslik = BaslikText.Text;
        string videoad;
        videoad = MedyaFile();
        string resimad;
        resimad = ImageFile();
        if(videoad=="hata2")
        {
            mesaj = "Video Yükleme Hatası";
        }
        if(videoad=="hata1")
        {
            mesaj = "Seçtiğiniz Dosya Uzantısı Yanlış";
        }
        if(resimad=="hata1")
        {
            mesaj = "Seçtiğiniz Resim Uzantısı Yanlış";
        }
        if(resimad=="hata2")
        {
            mesaj = "Resim Yükleme Hatası";
        }
        if(videoad!="hata1"&&videoad!="hata2")
        {
            if(resimad!="hata1"&&resimad!="hata2")
            {
                
                Kayit.VideoKayit(baslik, videoad, resimad);
                mesaj = "Video Kaydedildi";
                medyalabel.Text = mesaj;
            }
        }
      
    }
    protected string MedyaFile()
    {
        string vm_kayit = "Video/";
        string Vm_Name;
        string Vm1, Vm2;
        string Vm_url = "";
        if (medyaup.HasFile)
        {
            Vm_Name = medyaup.FileName;
            int idx1, idx2, idx3;
            if (Vm_Name != "" && Vm_Name != null)
            {
                Vm1 = Vm_Name;
                idx1 = Vm1.Length;
                idx2 = Vm1.LastIndexOf(".", Vm1.Length - 1, Vm1.Length - 1);
                idx3 = idx1 - idx2;
                Vm2 = Vm1.Substring(idx2 + 1, idx3 - 1);
                Vm_url = vm_kayit + Vm_Name;
                if (Vm2 == "mp4" || Vm2 == "Vmw" || Vm2 == "avi" || Vm2 == "MPEG3"||Vm2=="flv")
                {
                    medyaup.SaveAs(Server.MapPath(Vm_url));
                }
                else
                {
                    Vm_url = "hata1";
                }
            }
            else
            {
                Vm_url = "hata2";
            }
        }
        return Vm_url;
    }
    protected string ImageFile()
    {
        string img_kayit = "~/Resim/";
        string Img_Name;
        string Img1, Img2;
        string Img_url = "";
        if (ImageUp.HasFile)
        {
            Img_Name = ImageUp.FileName;
            int idx1, idx2, idx3;
            if (Img_Name != "" && Img_Name != null)
            {
                Img1 = Img_Name;
                idx1 = Img1.Length;
                idx2 = Img1.LastIndexOf(".", Img1.Length - 1, Img1.Length - 1);
                idx3 = idx1 - idx2;
                Img2 = Img1.Substring(idx2 + 1, idx3 - 1);
                Img_url = img_kayit + Img_Name;
                if (Img2 == "jpg" || Img2 == "JPEG" || Img2 == "png" || Img2 == "gif" || Img2 == "GIF")
                {
                    ImageUp.SaveAs(Server.MapPath(Img_url));
                }
                else
                {
                    Img_url = "hata1";
                }
            }
            else
            {
                Img_url = "hata2";
            }
        }
        return Img_url;
    }
    public void VideoKayit(string baslik, string vido_url, string resim_url)
    {
        SqlCmdSb = new SqlCommand();
        SqlCmdSb.Connection = ConnectSb();
        SqlCmdSb.CommandText = "Insert Into VIDEOSB(BASLIK,VIDEO,RESIM,TARIH) Values(@baslik,@video,@resim,@tarih)";
        SqlParameter SP2 = new SqlParameter("@baslik", SqlDbType.NVarChar);
        SqlParameter SP3 = new SqlParameter("@video", SqlDbType.NVarChar);
        SqlParameter SP4 = new SqlParameter("@resim", SqlDbType.NVarChar);
        SqlParameter SP5 = new SqlParameter("@tarih", SqlDbType.DateTime);
        SP2.Value = baslik;
        SP3.Value = vido_url;
        SP4.Value = resim_url;
        SP5.Value = DateTime.Now;
        SqlCmdSb.Parameters.Add(SP2);
        SqlCmdSb.Parameters.Add(SP3);
        SqlCmdSb.Parameters.Add(SP4);
        SqlCmdSb.Parameters.Add(SP5);
        SqlCmdSb.ExecuteNonQuery();
        CloseSB();
    }
    public SqlConnection ConnectSb()
    {
        string yol = "Data Source=localhost; Initial Catalog=prmry; Integrated Security=true";
        sqlbaglanti = new SqlConnection(yol);
        if (sqlbaglanti.State == ConnectionState.Closed)
        {
            sqlbaglanti.Open();
        }
        return sqlbaglanti;
    }
    public void CloseSB()
    {
        if (sqlbaglanti.State == ConnectionState.Open)
        {
            sqlbaglanti.Close();
        }
    }
}


Default.aspx Markup Kodları

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        body
        {
            background:#286c8f;
        }
        .resim
        {
            width:175px;
            float:left;
            margin:5px;
        }
        a
        {
            text-decoration:none;
            color:#cbbc0e;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <div style="width:90%; background:#516383; float:left">
                    <div style="margin-left:200px; float:left">
        
            <asp:Repeater ID="vmplayer" runat="server">
                <ItemTemplate>
                    <video width="580" controls="controls" >
                        <source src="<%# Eval("VIDEO") %>" type="video/mp4" />
                        <source src="<%# Eval("VIDEO") %>" type="video/ogg" />
                    </video>
                </ItemTemplate>
            </asp:Repeater>
        </div>
        </div>
        <div style="float:left; width:80%">
            
                <asp:Repeater ID="VideoRpt" runat="server">
                <ItemTemplate>
                    <div style="width:200px; height:255px; background:#761313; float:left">
                        <div style="float:left; width:100%; height:25px; padding:0; margin:0">
                            <a href="Default.aspx?vmkey=<%# Eval("ID") %>"><%# Eval("BASLIK") %></a>
                            
                        </div>
                        <div style="width:100%; float:left">
                            <a href="Default.aspx?vmkey=<%# Eval("ID") %>">
                                 <asp:Image ID="VmwResim" CssClass="resim" runat="server" ImageUrl='<%# Eval("RESIM") %>' />
                             </a>
                        </div>
                    </div>
                </ItemTemplate>
            </asp:Repeater>
            
        </div>
    </div>
    </form>
</body>
</html>


Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
    SqlCommand CmdPlay;
    SqlDataAdapter AdtpPlay;
    DataSet SetPlay;
    SqlConnection sqlbaglanti;
    protected void Page_Load(object sender, EventArgs e)
    {
        LoadVideo();
        PlayVideo();
    }
    private void LoadVideo()
    {
        CmdPlay = new SqlCommand();
        CmdPlay.Connection = ConnectSb();
        CmdPlay.CommandText = "Select *From VIDEOSB order by(TARIH) desc";
        AdtpPlay = new SqlDataAdapter(CmdPlay);
        SetPlay = new DataSet();
        AdtpPlay.Fill(SetPlay);
        VideoRpt.DataSource = SetPlay;
        VideoRpt.DataBind();
        CloseSB();
    }
    private void PlayVideo()
    {
        string videokey;
        videokey = Request.QueryString["vmkey"];
        
        CmdPlay = new SqlCommand();
        CmdPlay.Connection = ConnectSb();
        CmdPlay.CommandText = "Select VIDEO From VIDEOSB where ID='" + videokey + "'";
        AdtpPlay = new SqlDataAdapter(CmdPlay);
        SetPlay = new DataSet();
        AdtpPlay.Fill(SetPlay);
        vmplayer.DataSource = SetPlay;
        vmplayer.DataBind();
        CloseSB();
    }
    public SqlConnection ConnectSb()
    {
        string yol = "Data Source=localhost; Initial Catalog=prmry; Integrated Security=true";
        sqlbaglanti = new SqlConnection(yol);
        if (sqlbaglanti.State == ConnectionState.Closed)
        {
            sqlbaglanti.Open();
        }
        return sqlbaglanti;
    }
    public void CloseSB()
    {
        if (sqlbaglanti.State == ConnectionState.Open)
        {
            sqlbaglanti.Close();
        }
    }
}


WebConfig dosyasınıda aşağıda veriyorum. Video yükleme hatası verirse ayarları bu dosyadaki gibi yapın.

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" maxRequestLength="250000" executionTimeout="500000" useFullyQualifiedRedirectUrl="true"/>
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="30720000"></requestLimits>
      </requestFiltering>
    </security>
  </system.webServer>
  
</configuration>


SANATSAL BİLGİ

19/11/2016

  • YORUM YAZ
  • ADI SOYADI(veya nick)
  • YORUM

COPYRIGHT© HER HAKKI SAKLIDIR
Sitede Yer Alan Bilgi Belge Ve Materyallerin İzinsiz olarak Kopyalanması ve Alıntılanması Yasaktır

SANATSAL BILGI