`
chenxueyong
  • 浏览: 336199 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

在ASP.NET网站中实现带列表的视频播放

阅读更多

在ASP.NET网站中实现带列表的视频播放

方法:
用c#将视频文件上传到磁盘上时同时生产对应的xml文件,播放页面使用js读取对应的xml文件生成播放列表。
xml文件:
文件名:huojian.xml

视频上传代码:

using System;
using System.Data;
using System.Configuration;
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.Web.UI.HtmlControls;

using System.Xml;
public partial class _Default : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (User.Identity.Name != @"banewfish\banewfish")
        
{
            Label1.Text 
= "您当前不具有当前网页的使用权限!<br/>如需上传文件请于管理员联系!";
            
try
            
{
                FileUpload1.Enabled 
= false;
                Button1.Enabled 
= false;
            }

            
catch (Exception exDisenabledContorls)
            
{
                FileUpload1.Enabled 
= false;
                Button1.Enabled 
= false;
               
            }

            
finally
            
{
                FileUpload1.Enabled 
= false;
                Button1.Enabled 
= false;
            }

           
        }
 

    }

    
private string path;
    
protected void Button1_Click(object sender, EventArgs e)
    
{
        
string xmlDocName = dl.SelectedValue;
        
if (Page.IsPostBack)
        
{
            Label1.Text 
= "";
            Boolean fileOK 
= false;
            
if (FileUpload1.HasFile)
            
{
                String fileExtension 
=
                    System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                String[] allowedExtensions 
= ".wmv"".mpg"".mpeg" };
                
for (int i = 0; i < allowedExtensions.Length; i++)
                
{
                    
if (fileExtension == allowedExtensions[i])
                    
{
                        fileOK 
= true;
                    }

                }

            }

            
else Label1.Text = "文件名不能为空";
            
if (fileOK)
            
{

                path 
= Server.MapPath("~/UploadedImages/");
                
try
                
{
                    FileUpload1.PostedFile.SaveAs(path 
+ FileUpload1.FileName);
                }

                
catch (Exception exSaveFile)
                
{
                    fileOK 
= false;
                    Label1.Text 
= "文件存储到服务器时出错,可能是文件已损坏或文件为空+" + exSaveFile.ToString();
                }

                
//object[] pa = new object[] { FileUpload1.FileName.ToLower(),12, Page.User.Identity.Name.ToString() };
                
//Label1.Text += InsertToDataBase(@"Data Source=s-sql;Initial Catalog=sps;Integrated Security=True", pa);
                if (fileOK)
                
{
                    Label1.Text 
+= InsertToXML(xmlDocName);
                }

            }

            
else
            
{
                Label1.Text 
= "文件类型错误,允许的文件类型为: wmv、mpg、mpeg";
            }

        }


        
//Page.Response.Write(file1.value);
    }

    
private string InsertToXML(string xmlDocName)
    
{
        XmlDocument xmlDoc 
= new XmlDocument();
        
string fileName = xmlDocName + ".xml";
        
try
        
{

            xmlDoc.Load(Page.MapPath(fileName));
        }

        
catch (Exception exLoadxml)
        
{
            
return xmlDocName;
        }


        XmlNode root 
= xmlDoc.SelectSingleNode("media");//查找<media>
        XmlElement xe1 = xmlDoc.CreateElement("pp");//创建一个<pp>节点
        xe1.SetAttribute("url","http://s-sps:801/UploadedImages/"+FileUpload1.FileName.ToLower());//设置该节点url属性
        xe1.SetAttribute("name", FileUpload1.FileName.ToLower().Remove(FileUpload1.FileName.ToLower().LastIndexOf(".")));//设置该节点name属性
        root.AppendChild(xe1);//添加到<bookstore>节点中
        xmlDoc.PreserveWhitespace = true;
        xmlDoc.Save(Page.MapPath(fileName));
        
return "上传成功";
    }

}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics