毕业设计(论文)-视频点播系统的设计与实现.doc_第1页
毕业设计(论文)-视频点播系统的设计与实现.doc_第2页
毕业设计(论文)-视频点播系统的设计与实现.doc_第3页
毕业设计(论文)-视频点播系统的设计与实现.doc_第4页
毕业设计(论文)-视频点播系统的设计与实现.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

苏州高博软件技术职业学院毕业论文苏州高博软件技术职业学院学生毕业设计(论文)报告系 别 专 业 班 级 姓 名 学 号 设计题目 指导教师 起迄日期 I苏州高博软件技术职业学院毕业设计说明书I苏州高博软件技术职业学院毕业设计说明书苏州高博软件技术职业学院毕业设计诚信承诺书本人慎重承诺和声明:我承诺在毕业设计过程中严格遵守学校有关规定,在指导教师的安排与指导下完成所规定的毕业设计工作,绝不弄虚作假,不请别人代做毕业设计或抄袭别人的成果。所撰写的毕业论文或毕业设计是在指导老师的指导下自主完成,文中所有引文或引用数据、图表均注明来源,本人愿意为由此引起的后果承担责任。学生签名: 日期: 年 月 日毕业设计知识产权权属声明本人在老师指导下所完成的论文及设计成果、知识产权归属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。学生签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日视频点播系统的设计与实现摘 要视频点播是近年来新兴的传媒方式,它是在原有的文字、图片等静态信息浏览的基础上,增加了视频和音频的动态浏览等多媒体点播服务。用户可以在线浏览视频信息并根据自己的喜好单击播放。这样,使用户足不出户就可观看电影,摆脱了传统电视收看时间的局限性,以及传统CD播放资源的局限性,极大丰富了人们的网络生活。系统是基于Web的视频点播系统,用户可以对个人信息管理、上传视频文件、在线观看视频、搜索、评论视频和对评论进行回复。管理员可以实现对用户信息的管理;对视频的发布、更新、删除;对用户上传视频进行审核、删除;对系统动态宣传图片的更换、删除;超级管理员可以添加、删除、更改普通管理员信息。由于本系统是一个小型系统,所以数据库采用SQL Server 2005,易于实现和维护。实现过程中将HTML、ASP.NET技术及CSS和DIV完美融合,力求界面美观、操作流畅。系统简洁、方便、美观,用户不需要说明就可以轻松的来操作系统,提供了多项搜索功能,用户可以很方便的找到想要观看的视频,随时随地观看视频。关键词 视频点播;SQL Server 2005;ASP.NET技术30目 录第1章 绪论11.1课题研究背景11.2课题研究目的和意义1第2章 需求分析22.1引言22.2系统需求分析的目标22.3数据流分析2第3章 系统方案总体设计33.1引言33.2系统模块总设计33.2.1系统各模块具体功能设计33.2.2系统功能模块图43.3系统E-R图5第4章 数据库的设计64.1数据库设计概述64.2数据库表的设计64.2数据库存储过程的设计9第5章 详细设计与实现115.1系统通用类的设计115.2系统首页设计125.2.1 实现目标125.2.2 实现过程135.3 用户登录模块设计145.3.1 实现目标145.3.2 实现过程145.4 用户修改资料模块设计155.4.1 实现目标155.4.2 实现过程165.5 用户在线收看模块设计175.5.1 实现目标175.5.2 实现过程175.6 用户上传模块设计185.6.1 实现目标185.6.2 实现过程185.7 视频管理模块设计205.7.1 实现目标205.7.2 实现过程215.8 审核用户上传视频模块设计225.8.1 实现目标225.8.2 实现过程22第6章 系统的测试与维护246.1 系统测试目标246.2 系统测试方法246.3 本系统测试256.3.1 用户登录模块测试256.3.2 用户观看视频模块测试266.3.3 视频管理测试26结 论27致 谢28参考文献29第1章 绪论1.1 课题研究背景视频点播是20世纪90年代发展起来的,英文称为“Video On Demand”,简称“VOD”,顾名思义,就是根据观众的要求播放节目。VOD出现的动力是人们对广播电视的不满,在现行的电视节目中,收看者完全是被动的。节目提供者放什么节目,观众就只能看什么节目,节目时间也是固定不变的。尽管电视台可以提供很多的节目,但要想真正完整地收看到一个自己满意的节目,对于许多人来讲也是不太容易做到的,因为在快节奏的现代社会中,许多人不可能为了看某一个电视节目而预先安排自己的时间。被迫习惯了这种被动收看方式的人们,对于有朝一日能够按照自己的需要自由地点播,充满了美好而迫切的憧憬。为了使人们摆脱这种被动地位,人们开始研究交互式电视系统,计算机技术的发展及数字通讯技术的长足进步使得视频点播成为现实。用户不必遵守传统的时间表,而是根据自己的意愿直接点播、收看节目,从根本上改变了过去被动收看电视节目的方式,实现了节目的按需收看和任以自由调用节目,还可以对节目实现编辑和处理(如暂停、快进、搜索等),获得与节目相关的详细信息,如电视剧简介、演员个人资料等信息,这使得人们的憧憬变成了现实。1.2 课题研究目的和意义随着信息时代的到来和人们生活水平的不断提高,人们不再满足于只是被动地接收电视台预先编排好的固定节目,而是希望根据自己的需求来获取影视节目、社会服务信息等视频服务。视频点播不仅可以为终端用户提供多样化的媒体信息流,来扩大人们的信息渠道,丰富人们的精神文化生活,视频点播正是为适应这种需要应运而生的。近年来,随着Web2.0的兴起,人们开始着手研究按需视频点播系统,打开时不用重新刷新页面,采用异步无刷新技术向服务器提交数据,它可以让用户选择播放时间与播放形式,如播放、快进、快退、暂停等,在各种宽带网络上实现视频点播业务成为当前多媒体和网络领域的一个研究热点。第2章 需求分析2.1 引言软件系统的需求分析是软件生存周期中重要的一步,也是最关键的一步,它的研究结果是系统开发的基础,关系到工程的成败和软件产品的质量。所以,只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。需求分析的任务是准确地回答“系统做什么”的问题,是对目标系统提出完整、准确、清晰、具体的要求。2.2 系统需求分析的目标通过分析用户对系统需求,明确了需求目标才能使系统的开发工作顺利的进行。系统在需求分析过程中要达到以下目标:(1) 了解传统视频点播系统的业务流程。 (2) 各业务流程的实施方法可管理办法。(3) 明确系统的各项功能和各项服务。(4) 对各业务流程的具体内容进行具细说明。(5) 目标软件系统用户界面、各式系统逻辑模型图及说明。2.3 数据流分析数据流图是描述数据处理过程的工具。它是表示系统逻辑模型的常用工具,图中不存在任何具体的物理元素,只表示信息在系统中流动和处理的情况。数据流图是逻辑系统的图形化表示。因此,它是系统分析员与用户进行交流的极好工具。本系统使用权限划分为三个分别为:非注册用户、注册用户、管理员。根据这三种权限来描述本系统的数据流图。(1) 非注册用户只能够查看视频的基本信息及注册成为网站的用户。(2) 注册用户可以修改个人资料、查看评论、查询管理员上传视频信息、查询用户上传视频信息、观看管理员上传视频、观看用户上传视频、上传视频、评论视频、回复评论。(3) 后台管理员可以管理用户信息、管理视频、管理用户上传视频、审核用户上传视频、管理评论、管理回复信息。第3章 系统方案总体设计3.1 引言通过前面对软件需求分析对系统功能和性能反面的合理化分析,可以总结出本系统的总体设计模块及相关的设计方法和技术。为代码的编辑和实现过程提供了指导性的思想。3.2 系统模块总设计系统从用户角度和管理员角度来设计系统模块:从用户角度,用户可以在线查询视频、管理个人信息、上传视频、在线观看视频。从管理员角度,管理员可以管理视频、管理评论、管理用户上传视频、管理系统首页的动图片、管理用户对视频评论的回复、超级管理员还可以管理普通管理员。3.2.1 系统各模块具体功能设计系统分为用户模块和管理员模块两大部分,每个大模块中又包括若干个子模块。1.用户模块(1)用户注册:输入要注册的用户名,系统会检查用户名是否已经存在。如果不存在,允许继续输入详细资料,然后向服务器提交所有的注册信息。(2)用户登录:首先判断输入的用户名和密码是否正确,然后根据用户权限判断用户还是管理员,并分配给用户相应的权限。(3)用户在线观看:用户登录成功后进入用户主页面可以在线观看视频,用户还可以随意调节收看进度。(4)用户在线查询:用户可以根据视频名称,演员名称等来搜索所需视频。当用户输入的信息不完整时,系统将进行模糊查询,找出于关键字有关的信息。(5)用户个人中心:用户登录成功后进入用户个人中心,用户可以修改个人信息、修改密码、更新个人头像。(6)用户评论视频:用户可以对自己感兴趣的视频进行评论,也可以对其它用户的评论进行回复。(7)用户上传视频:用户可以上传视频与其它用户分享,用户可以查看到自己所上传的视频,可以对其进行修改或是删除。用户上传的视频不能马上发布出去要等待管理员审核,审核通过后其它用户就可以观看了。2.管理员模块(1)视频管理:管理员可以发布新的视频信息,也可以根据发布的视频信息上传相应视频,还可以更新视频信息。(2)评论管理:管理员可以查看用户对视频的评论,如果发现不健康或是不合法的评论可以将其删除。(3)管理员信息管理:系统分为两个管理员普通管理员和超级管理员。超级管理员可以添加新的管理员、修改管理员信息、删除管理员。(4)用户视频管理:管理员对用户上传的视频要进行审核,如果满足条件就可以点击审核按钮使用户上传视频通过审核。除了审核外,管理员还可以将不合法的视频删除。(5)动态图片管理:系统首页有一些动态滚动的视频封面,管理员可以为相应的视频添加动态图片、更新或删除它们。(6)评论回复管理:管理员可以查看用户对视频的评论回复,如果发现不健康或是不合法的评论回复可以将其删除。3.2.2 系统功能模块图系统功能模块如图3.1所示:图3.1 VOD视频点播系统功能模块图3.3 系统E-R图通常,使用实体-联系图来建立数据模型。可以把实体-联系图简称为E-R图,相应地可把用E-R图描绘的数据模型称为E-R模型。VOD视频点播系统E-R图描述:用户实体可以向用户上传视频实体上传信息。一个用户实体可以上传多个视频,即一对多关系。用户实体可以向视频评论实体发表评论信息。一个用户可以发表多个评论,即一对多关系。用户实体可以向视频回复实体回复评论。一个用户可以回复多个视频评论,即一对多关系。管理员实体可以管理用户信息实体、视频评论实体、视频信息实体、用户上传实体、系统动态图片管理实体。一个管理员可以管理多个视频评论、视频信息、用户上传视频、动态图片。它们的关系都是一对多关系。具体关系如图4-2 VOD视频点播系统E-R图所示。图4-2VOD视频点播系统E-R图第4章 数据库的设计4.1 数据库设计概述数据库设计是软件设计工程进行三项活动中的首要活动,数据结构对程序结构和过程复杂性的影响使得数据设计对软件质量产生不容忽视的影响。数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。4.2 数据库表的设计根据系统的实际需求和对数据库的详细分析,VOD视频点播系统的数据库设计如下:数据库命名为:vod 。该数据库中共由10张表组成,分别为:film、userfilm、userdetail、messageee、replay、film_add、admin、category、categoryuser、systemconfig。数据库中表详细设计结果如下:1.film(视频信息表)用来存放管理员上传的视频信息的数据表,如表4-1所示。表4-1film(视频信息表)序号字段名类型长度(字符)是否为空描述1f_idint4否视频编号2f_namevarchar50否视频名称3f_leadvarchar100是主演名称4f_contentvarcharmax是视频简介5f_clickint4是点击率6c_namevarchar50是视频类型名称7c_idint4是视频类型编号8f_timedatetime8是上传时间9c_addnamevarchar20是视频产地10f_imagevarchar50是封面路径2.categoryuser(用户上传视频类型表)用来存放用户上传视频类型的数据表,如表4-2所示。表4-2categoryuser(用户上传视频类型表)序号字段名类型长度(字符)是否为空描述1cuf_idint4否视频类型编号2cuf_namevarchart50否视频类型名称3.userdetail(用户信息表)用来存放用户信息的数据表,如表4-3所示。表4-3userdetail(用户信息表)序号字段名类型长度(字符)是否为空描述1u_idint4否用户编号2usernamevarchar50否用户名3passwordvarchar50否密码4nametvarchar50是真实姓名5sexchar2是性别6ageint4是年龄7addressvarchar50是地址8qmvarchar50是个人签名9mobilevarchar50是移动电话10keypvarchar50是密码提示问题答案11proplemvarchar50是密码提示问题12mailvarchar50是电子邮箱13timedatetime8是用户注册时间14imagevarchar50是上传头像路径4.category(视频类型表)用来存放系统视频类型的数据表,如表4-4所示。表4-4category(视频类型表)序号字段名类型长度(字符)是否为空描述1c_idint4否视频类型编号2c_namevarchart50否视频类型名称5.replay(回复评论表)用来存放回复评论信息的数据表,如表4-5所示。表4-5replay(回复评论表)序号字段名类型长度(字符)是否为空描述1r_idint4否评论编号2m_idint4是回复编号3repalyvarcharmax是回复内容4r_datetimedatetime8是回复时间5usernamevarchar50是回复用户6r_imagevarchar50是头像路径6.admin(管理员信息表)用来存放管理员信息的数据表,如表4-6所示。表4-6admin(管理员信息表)序号字段名类型长度(字符)是否为空描述1a_idint4否管理员编号2a_namevarchart50否管理员名称3a_passwordvarchar50否管理员密码4a_grantint4否管理员权限7.userfilm(用户上传视频信息表)用来存放用户上传的视频信息的数据表,如表4-7所示。 表4-7userfilm(用户上传视频信息表)序号字段名类型长度(字符)是否为空描述1uf_idint4否用户上传视频编号2uf_namevarchar50否用户上传视频名称3usernamevarchar50否上传用户名4cuf_namevarchar50是用户上传视频类型5uf_contentvarcharmax是用户上传视频简介6uf_clickint4是点击率7uf_timedatetime8是上传时间8cuf_idint4是视频类型编号9shvarchar5是视频审核10ufadd_addvarchar100是视频产地11uf_imagevarchar50是视频封面地址8.fadd_add(视频地址表)用来存放管理员上传视频地址信息的数据表,如表4-8所示。表4-8film_add(视频地址表)序号字段名类型长度(字符)是否为空描述1fadd_idint4否地址编号2f_idint4否视频编号3f_numvarchar10是视频集数4fadd_addvarchar100是视频地址5f_sizeint4是视频大小9.systemconfig(系统动态图片管理表)用来存放系统常规信息的数据表,如表4-9所示。表4-9systemconfig(系统动态图片管理表)序号字段名类型长度(字符)是否为空描述1sc_idint4否图片编号2f_idint4否视频编号3sc_imagevarchar50否图片路径10.messageee(视频评论表)用来存放视频评论信息的数据表,如表4-10所示。表4-10messageee(视频评论表)序号字段名类型长度(字符)是否为空描述1m_idint4否评论编号2f_idint4否视频编号3m_contentvarcharmax是评论内容4m_datetimedatetime8是评论时间5usernamevarchar 50是评论用户6m_imagevarchar50否 头像路径4.2 数据库存储过程的设计存储过程(Stored Procedure)是一组为了能够完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程有以下优点:1.存储过程允许标准组件式编程存储过程在被创建以后可以在程序中被多次调用,而不必重新编写该存储过程的SQL 语句。而且数据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响(因为应用程序源代码只包含存储过程的调用语句),从而极大地提高了程序的可移植性。2.存储过程能够实现较快的执行速度如果某一操作包含大量的Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的执行计划。而批处理的Transaction-SQL 语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。3.存储过程能够减少网络流量对于同一个针对数据数据库对象的操作(如查询、修改),如果这一操作所涉及到的 Transaction-SQL 语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,否则将是多条SQL 语句,从而大大增加了网络流量,降低网络负载。4.存储过程可被作为一种安全机制来充分利用系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限进行限制,避免非授权用户对数据的访问,保证数据的安全。系统中共用到了55个存储过程,由于篇幅有限现将主要数据库存储过程列出,详细内容如表4-11所示。表4-11VOD视频点播系统数据库存储过程存储过程名称描述add_admin超级管理员添加普通管理员信息add_message添加视频评论add_replay添加视频评论回复admin_del_film管理员删除视频信息admin_del_user管理员删除用户信息admin_del_user管理员删除用户上传视频admin_sel_userfilm管理员查询用户上传视频信息admin_update_film管理员更新视频信息admin_updatefilm_image管理员更新视频封面路径del_message管理员删除视频评论film_click查询视频点击率film_fconteent用户发布视频评论film_filmgl管理查询视频信息film_filmlist根据视频分类视频视频film_play查询要播放视频信息film_player查询要播放视频路径film_updateclick更新视频点击率film_message查询每个视频的相应评论film_name根据视频名称查询视频信息film_lead根据视频主演查询视频信息updatepass更新用户密码userimage更新用户头像seloldpass查询用户旧密码sc_image为视频添加动态图片updatesh更新用户上传视频审核字段userinformation查询用户基本信息yz注册用户账号验证zhuce用户添加注册信息film_canmelist查询视频类型film_canmelist2查询用户上传视频类型film_newfilm查询前十个最新近发布的视频第5章 详细设计与实现5.1 系统通用类的设计在本系统中要经常对数据库进行增加、删除、修改等操作。为了避免重复编写相同的代码,因此把对数据库的基本操作封装到一个类中。这样每次需要对数据库进行操作时,只要直接调用这个封装好的类就可以实现对数据库的增加、删除、修改等操作。1.项目文件夹在项目中共有七个文件夹,每个文件夹下有着不同资源,科学合理的文件夹架构可以很大程度提高开发速度。表5-1是对七个文件夹的具体描述。表5-1 文件夹功能描述文件夹名称描述App_Code存放类的文件夹App_Data存放系统数据库资源的文件夹contral存放用户自定义控件的文件夹image存放系统中所用图片的文件夹ufilm存放用户上传视频资源的文件夹ufilmimage存放用户所用图片的文件夹admin后台管理页面文件夹2.通用类设计系统共包括六大类,都存于App_Code文件夹下。每个类中又在不同类中封装了相应的方法,以下是对每个类的详细说明。(1)字符串操作类(base类)主要把字符的操作都封装在base类中,base类的主要功能是替换特殊字符串、获取字符串的长度、移除字符串的特殊位等操作。此类中创建了3个方法,它们分别为:Encode()、Decode()、Length()。(2)用户信息类(userss类)用户管理模块包括用户登录、用户注册、修改密码、修改用户资料部分。实现这几部分的操作主要是对userdetail表的操作,因此把对userdetail表的操作的方法都封装在userss.cs类文件中。userss.cs类文件中主要封装了addpeople()、denglu()、personinformation()、updateinformation()、seloldpass()、updatepass()等方法。(3)视频信息类(film类)主要把对film数据表的操作封装在film.cs类中。类中主要定义了newfilm()、film_click()、film_imagefilm()、film_filmplay()、film_filmlist()等方法。(4)视频地址类(film_add类)主要把对film_add数据表的操作封装在film_add.cs类中。在film_add.cs类中,主要定义了film_address()、film_play()、add_film_add()方法。(5)用户上传视频类(ufilm类)主要把对userfilm数据表的操作封装在ufilm.cs类中。在ufilm.cs类中,主要定义了add_ufilm_add()、film_click()、newfilm()、film_image()、film_filmlist()方法等。(6)导航类(category类)主要把对category数据表和categoryuser数据表的操作封装在category.cs类中。在category.cs类中,主要定义了headlist()、cnamelist()、cnamelist2()、headlist2()方法。5.2 系统首页设计5.2.1 实现目标用户可以通过网址的地址进入系统首页,未注册的用户只可以浏览系统的基本信息,查询一些视频信息。注册用户可以使用本系统的全部功能。首页示意图如5-1所示:图5-1系统首页示意图5.2.2 实现过程系统主页面中需要一个母版页,把它命名为:index.master。母版页中有四个用户自定义控件分别是:headlist.ascx(系统导航用户控件)、newfilm.ascx(最新视频用户控件)、filmclick.ascx(点击率排行用户控件)、scimage.ascx(动态图片用户控件)。headlist.ascx(系统导航用户控件)执行该用户自定义控件,首先触发Page_Load(object sender, EventArgs e)事件。在事件中,实例化category类调用其中的headlist()方法。headlist()方法又调用了film_headlist存储过程(查询出category数据表的所有记录),并将查询出来的所有视频类型返回给DataList控数据源,页面中就会显示以视频类型为导航名的导航条。newfilm.ascx(最新视频用户控件)执行该用户自定义控件,首先触发Page_Load(object sender, EventArgs e)事件。在事件中,实例化film类调用其中的newfilm()方法。newfilm()方法又调用了film_newfilm存储过程 (以上传时间为条件查询出film表中的以时间升级排序的前十条记录),并将查询出来的所有视频类型返回给DataList控数据源,页面中就会显示以最新更新的前条视频信息。filmclick.ascx(点击率排行用户控件)执行该用户自定义控件,首先触发Page_Load(object sender, EventArgs e)事件。在事件中,实例化film类调用其中的film_click()方法。film_click()方法又调用了film_click存储过程(以点击率为条件查询出film表中的前十条记录),并将查询出来的所有视频类型返回给DataList控数据源,页面中就会显示点击率排行榜。scimage.ascx(动态图片用户控件)执行该用户自定义控件,首先触发Page_Load(object sender, EventArgs e)事件。在事件中,实例化film类调用其中的sc_image()方法。sc_image()方法又调用了sc_image存储过程(查询systemconfig数据表中的所有记录),并将查询出来的所有视频类型返回给DataList控数据源。在页面的源代码中写入一系列的Java Script代码控制DataList控件滚动5.3 用户登录模块设计5.3.1 实现目标用户进入系统主页,如果想要使用系统中的更多功能就需要登录到系统。点击主页面中的“登录”按钮,进入到系统登录界面。用户输入自己的用户名和密码,如果输入正确就可以重新登录系统主页。这时用户就可以使用系统中的全部用户功能,系统登录页面示意图如5-2所示 图5-2用户登录界面示意图该模块首先判断用户输入的用户名和密码是否正确,如果登录成功跳到系统主页,该模块的流程图如图5-3所示。 图5-3用户登录模块流程图5.3.2 实现过程当用户单击“登录”按钮,触发ImageButton1_Click(object sender, ImageClickEventArgs e)事件。在该控件中,首先对userss类进行实例化,并获取用户输入的用户名和密码;然后调用userss类中的denglu()方法判断用户是否登录成功,如果用户登录成功,则将用户名保存到Session“username”对象中。相关代码如下:ArrayList arr = new ArrayList(); arr.Add(tb_users.Text); arr.Add(tb_pass.Text); userss u = new userss(); int i = u.denglu(arr); if (i != 0) Sessionusername = this.tb_users.Text.ToString().Trim(); Response.Redirect(index.aspx); else Response.Write(alert(用户名或密码错误); tb_users.Text = ; tb_pass.Text = ; tb_yz.Text = ; 5.4 用户修改资料模块设计5.4.1 实现目标用户登录后才能修改资料(当用户成功登录后可以对自己的个人资料进行修改)。用户如果想要修改个人密码时,先要输入旧密码通过验证后就可以重新填写新密码,该模块的流程图如图5-4所示。 图5-4用户修改资料流程图5.4.2 实现过程1.查看个人信息当用户登录成功之后,系统会自动跳转到主页,单击“用户中心”超级链接进入usermain.aspx页面,显示用户头像和个人签名。单击“用户详细信息”进入userzx.aspx页面。当用户进入该页面时,首先触发Page_Load(object sender, EventArgs e)事件。在该事件中,首先判断用户是否登录,如果已登录,则对userss类进行实例化,同时调用userss类中的userzx ()方法,返回一条数据行保存到dr中;然后将数据行中的数据显示在Label控件中。在该页面中添加11个Label控件,用于显示用户个人信息。2.更新用户个人信息当用户想更新自己的个人信息时,单击“更新用户信息”超级链接,进入updateuser.aspx页面。当用户输入好要更新的用户信息之后,单击“更新”按钮,触发btnupdate_Click(object sender, EventArgs e)事件。在该事件中,首先创建一个数组,并将用户更新的信息添加到数组中,然后调用userss类中的updateinfomation()方法更新用户个人信息。如果用户想要更改个人头像,单击“确定”按钮,触发Button1_Click(object sender, EventArgs e)事件。在该事件中调用user_update_image()方法,将用户上传的头像路径上添加到userdetail数据表中。同时,将本地计算机中的图片上传到服务器指定的文件夹下。3.修改密码当用户想修改登录密码时,单击“修改密码”超级链接,进入updtepass.aspx页面。在该页面中,主要在界面中添加了3个TextBox文本框和2个Button控件,用于用户输入要更新的密码等。当用户输入的旧密码及新密码之后,单击“确认修改”按钮,触发btnupdate_Click(object sender, EventArgs e)事件。执行该事件首先对userss类进行实例化,然后调用userss类中的seloldpass()方法获取用户的旧密码并保存到字符变量oldpass中;然后再判断用户输入的旧密码是否和变量oldpass中的密码相同,如果相同,则调用userss类中的updatepass()方法更新用户的密码。5.5 用户在线收看模块设计5.5.1 实现目标当用户搜索到自己要观看的视频时,单击“观看”按钮进入视频详细页面,在其中用户可以单击视频集数的超级链接进入播放视频的界面。用户在线收看视频示意图如图5-5所示。 图5-5 用户在线收看视频示意图5.5.2 实现过程播放视频主要由play.aspx页面完成,界面设计主要创建了一个object对象,用于添加一个视频播放器,同时应用“param name=Filename value = /”语句接收要播放的视频。当用户单击播放地址的超级链接时,进入播放视频的页面首先触发Page_Load(object sender, EventArgs e)事件。该事件中,首先判断用户是否登录,如果已成功登录,则获取视频地址及视频的ID号;然后调用film类中的film_updateclick()函数更新点击率,调用film_add类中的film_play()函数获取要播放的视频地址并保存到变量film_add中;最后,应用“url = admin/film/ + film_add;”语句将播放视频地址传递给前台绑定并播放。用户在线观看视频模块主要实现代码: public partial class play : System.Web.UI.Page public string url; protected void Page_Load(object sender, EventArgs e) if (Sessionusername = null) Response.Redirect(denglu.aspx); if (!IsPostBack) int add_id = Convert.ToInt32(Requestfadd_id); int f_num = Convert.ToInt32(Requestf_num); film f = new film(); f.film_updateclick(f_num); film_add f_add = new film_add(); string film_add = f_add.film_play(add_id ); url = admin/film/ + film_add; 5.6 用户上传模块设计5.6.1 实现目标登录成功的用户可以把本地视频上传到服务器上,等待管理员审核后用户上传的视频就可以发布到系统的界面中供其它用户共同分享。用户可以上传一张图片做为视频的封面,然后填写视频的基本信息。最后选择要上传的视频,点击“开始上传”按钮提交资料。用户上传视频界面示意图如图5-6所示。 图5-6 用户上传视频界面示意图5.6.2 实现过程登录用户通过系统中的“上传视频”超级链接进入到upload.aspx页面,触发Page_Load(object sender, EventArgs e)事件判断用户是否登录。登录成功后,用户填写视频信息点击“开始上传”按钮。触发btsc_Click(object sender, EventArgs e)事件,该事件首先对ufilm类进行实例化,然后调用ufilm类中的add_ufilm_add()方法将用户填写的资料上传到相应的数据表中。用户上传视频模块主要实现代码:protected void btsc_Click(object sender, EventArgs e) if (FileUpload1.PostedFile.FileName != &FileUpload2 .PostedFile .FileName !=) string fullname = FileUpload1.PostedFile.FileName; FileInfo file = new FileInfo(fullname); string filename = file.Name; string fileestension = file.Extension; int filelength = (int)file.Length; DateTime now = DateTime.Now; string newname = now.Year.ToString() + filelength; string newname2 = newname+fileestension; string imfullname = FileUpload2.PostedFile.FileName; FileInfo file1 = new FileInfo (imfullname); string imfilename=file1.Name; string imfileextension=file1 .Extension; int file1length = (int)file1.Length; DateTime now1 = DateTime.Now; string newname1 = now.Year.ToString() + file1length; string newname21 = newname1 + imfileextension; if (.wmv != fileestension & .wma != fileestension & .avi != fileestension & .rm != fileestension & .rmvb != fileestension & .mp3 != fileestension & .asf != fileestension) Response.Write(alert(不支持此格式视频); else string savepath = Server.MapPath(ufilm); this.FileUpload1.SaveAs(savepath + + newname2); if (.jpg != imfileextension & .gif != imfilee

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论