欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    网络硬盘的设计与实现(共24页).doc

    • 资源ID:14366453       资源大小:641.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    网络硬盘的设计与实现(共24页).doc

    精选优质文档-倾情为你奉上 目 录网络硬盘的设计与实现 摘要随着网络技术的日益普及和信息化建设的重视,网络硬盘作为一种新型安全的网络存储系统,已越来越受到人们的重视和喜欢。所谓“网络硬盘”,就是将服务器的磁盘空间提供给用户使用,用户可以通过它在互联网上实现文件的上传,下载和删除以及文件夹的创建与删除。并可以通过共享文件实现文件的网络共享。 实际要求是在客户端完成对服务器系统文件或文件夹的访问,创建和删除等功能。本网络硬盘用ASP.NET编程实现以上功能。通过IIS(Internet信息服务)建立虚拟目录,实现服务器的建立。以Web网页的形式呈现,通过HTTP协议,URL访问,即上网登陆的方式实现网络硬盘的功能。 关键词:网络硬盘,存储空间,HTTP,上传,下载, IIS Abstract 第一章 绪论1.1 网络硬盘的产生在现实生活中经常有许多电子文件需要处理,比如在家庭电脑上做的项目要拿到公司去运行,需要将自己的文件、作品传输到其他的Internet用户,要实现某些文件的共享等。如果每天拿个移动硬盘或U盘进行文件的传输的话,有很多缺点,比如经常会因为容量问题而无法实现,有时候会因为遗忘而带来很大的不方便。解决这种问题的方法最好的是通过网络来实现文件的传输。网络的主要功能是实现文件的共享与信息传输,Internet的出现与发展使得各种文件的传输工具成为了现实生活中必不可少的工具。比如:E-Mail,ftp文件传输,网上邻居,以及最近网络硬盘等。1.2 比较几种常见的传输方式现在流行的有几种文件的传输方式,在下面做些简单的比较。E-Mail:优点:能很方便的实现用户间的通信,使用简便,应用广泛。缺点:共享性不强,如果共享就无法实现安全性。比如:在局域网内部,财务、劳资等文件资料需要通过这种方式交流不是好办法。 对文件的传输必须用附件的形式发送,文件大小受到限制。ftp文件传输: 优点:对文件的处理功能强大。 缺点:使用起来稍显复杂。一大堆的设置足以让许多人望而却步,尤其数量不可预见性,针对特殊用户需求用户的设置就更加繁琐。网上邻居:优点:通过在本机上指定共享的Web文件并设置文件,一定范围内用户可以访问到这些资源。缺点:这种方式使用范围相当有限,通常在同一DNS段地址内的用户可以顺利访问。尤其在Internet用户很难使用,而且使用不直观。网络硬盘:是一种当前流行的一种主页服务内容,它可以作为商务工作人员的随身秘书,随时随地的对电子文档进行处理,而无须随身携带大量的文稿信息,同时还可以随时随地的把新的任务保存在网络硬盘里面。它主要侧重个人文件的存储,共享,发送等各式的网络文件管理。现在流行的网络硬盘有很多种,比如QQ,Yahoo 等都有网络硬盘产品,很多智能办公系统也都有网络硬盘选项。但是其共享性我感觉并不是很好,像QQ 硬盘,自己的私有文件就很难给别的用户看到。鉴于以上特点,我的开发语言采用的是ASP.NET,下面介绍一下语言的相关特点。第二章ASP.NET语言的特点2.1 微软.NET简介2.1.1 微软.NET的介绍MicroSoft .NET平台包括用于创建和操作新一代服务的.NET基础结构和工具;可以启用大量客户机的.NET User Experience;用于建立新一代高度分布式的数以百万计的.NET积木式组件服务;以及用于启用新一代智能互联网设备的.NET设备软件。MicroSoft .NET产品和服务包括Windows.NET,连同建立积木式服务的核心集成套件;MSNTM .NET;个人订购服务;Office.NET;Visual Studio .NET;以及用于.NET的bCentralTM。.Net环境中的突破性改进在于:a) 使用统一的Internet标准(如XML)将不同的系统对接;b) 这是Internet上首个大规模的高度分布式应用服务架构;c) 使用了一个名为“联盟”的管理程序,这个程序能全面管理平台中运行的服务程序,并且为它们提供强大的安全保护后台;.NET平台包括如下组件:a) 用户数据访问技术。其中包括一个新的基于XML的、以浏览器为组件的混合信息架构,叫做“通用画板”;b) 基于Windows DNA 2000的构建和开发工具;c) 一系列模块化的服务,其中包括认证、信息传递、存储、搜索和软件送递功能;2.1.2 Microsoft.NET平台带来的重要意义MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。.NET核心组件:· 一组用于创建互联网操作系统的构建块,其中包括Passport.NET(用于用户认证)以及用于文件存储的服务、用户首选项管理、日历管理以及众多的其它任务 · 构建和管理新一代服务的基本结构和工具,包括Visual Studio.NET、.NET企业服务器、.NET框架和Windows.NET · 能够启用新型智能互联网设备的.NET设备软件 · .NET用户体验 2.2 ASP.NET技术框架2.2.1ASP.NET技术平台总览从Microsoft.NET时代起,微软公司针对基于Web的开发推出了全新的Web Form概念,也就是说可以象开发普通的Win Form一样来进行Web应用程序的开发,从而可以享受真正的RAD(快速应用程序系开发)优势。而此时任何一个竞争对手都远不能达到这个程度,包含SUN公司的JSP语言。ASP.NET在整个.NETFramework中的位置.如示。ASP.NETWin Form Web Form/Web Service .NET类库公共语言运行时(CLR) 底层系统工程服务图2.1ASP.NET的组成结构和位置Microsoft.NET平台带给我们的ASP.NET技术不仅是一个的升级换代,而是一个崭新的开发技术平台。有许多普通Win Form应用程序所不能拥有的纵多特性,如移动商务支持,跨物理时空的数据存取等。2.2.2传统的请求/响应模式总体上来说,ASP.NET提供了一个解析处理客户端设备(浏览器,移动设备)同Web服务器(一般是IIS)之间的交互的技术平台。目前的客户端同服务器的交互方式常规的情况是请求响应模式,如图2.2所示。从图上可以看出,客户端的请求(Get/Post方式)到Web服务器,此时Web服务器相应的监听进程酒会负责处理这个来自客户端的请求,它有可能需要同文件系统同或数据库打交道,以便取得客户端需要的数据,最后Web服务器负责将处理结果返回给客户端的设备。Web服务器ASP.NET 请求响应文件系统ADO.NETHTTP请求GetHTTP请求Post响应处理文件系统数据库图.ASP.NET的HTTP请求响应模式2.2.3 改进后的请求/响应HTTP协议是一种无连接的协议,Web服务器采用这种处理方式是最佳的,但是ASP.NET技术能将请求/响应模式巧妙地隐藏起来。在ASP.NET技术中,Web服务器返回给客户端设备的数据隐藏了一个ViewState区域。在这个区域中保存了经过编码的同Web服务器交互所记录的状态数据,这样当客户端设备再次同Web服务器交互时,Web服务器就可以通过解析这个隐藏的数据来还原上次的“访问情况”,从而可以始终做到连接的请求/响应模式。改进后的处理过程如图2.3所示。2.2.4 XML 、Web Service和SOAPXML是这几年Web开发技术关注的焦点,很多当前最前沿的技术,如Web Service、SOAP等都建立在XML技术之上。可以说XML是当前Web开发技术的基石。XML的英文全称是eXtensibler Markup Languang,中文解释是可扩展标记语言。设计目标是:XML可直接用于Internet。XML支持大量不同应用。XML与SGML兼容。处理XML文件的程序容易编写。XML的可选项无条件地保持最小,理想状态下为个。XML文件是可以直接阅读的,条理清楚等。Web服务器定位请求的文件ASP.NET处理进程客户端请求被修改 重新编译发生错误是或者首次运行保存编译后文件否或者非首次执行运行返回处理响应 图.3 改进后的请求响应模式第三章Internet网络硬盘的设计3.1需求分析现实生活中常常要带大量的文稿去工作,由于麻烦和容易遗忘等缺点,网络硬盘做为一种服务主页应运而生,具有很强的生命力,特点第一章以讲过,不重复。3.2模块设计3.2.1 总体设计本程序是用ASP.NET设计的,Web窗体的设计是设计的重点。如图3.1所示:登陆界面LoginPage.aspx用户名密码使用说明页面ReadPage.aspx用户名存在私有文件PrivatePage. aspx共享文件SharePage.aspx不存在推出页面endPage.aspx3.2.2详细设计3.2.2.1 登陆界面LoginPage.aspx登陆页面如图3.2所示:分三种用户:admin,guest。这两个固定的用户:admin对网络硬盘的管理拥有完全权限,所有文件都有权进行处理;guest只是游客身份,基本无权限。第三种用户为新用户,通过注册来实现。guest密码12345.点击登陆按钮时触发,在数据库(SQL Server 2000)里面的用户数据库Users,与里面用户信息表格进行比较,存在则登陆,否则错误提示。主要代码如下所示:private void btnLogin_Click(object sender, System.EventArgs e)string connString="server=(local);uid=sa;pwd=123;database=Users"SqlConnection conn=new SqlConnection(connString);string sqlString="select * from UsersInfo where name='"+txtUser.Text+"' and password='"+txtPwd.Text+"'"string sqlString1="select * from UsersInfo where name='"+txtUser.Text+"'"conn.Open();SqlDataAdapter adapter1=new SqlDataAdapter(sqlString1,conn);SqlDataAdapter adapter=new SqlDataAdapter(sqlString,conn);DataSet ds1=new DataSet();DataSet ds=new DataSet();adapter1.Fill(ds1,"Users1");adapter.Fill(ds,"Users");conn.Close(); if(ds1.Tables0.Rows.Count=0)Response.Write("<script>window.alert('无此用户,请注册先!');</script>");else if(ds.Tables0.Rows.Count=0)Response.Write("<script>window.alert('密码不对,自己在想想,OK?');</script>");else FormsAuthentication.RedirectFromLoginPage(txtUser.Text,false);演示登陆出错如图3.3所示 图. 图3.2登陆界面注册时错误提示类型如图.和.所示 图.用户名为空时图.密码为空时注册时检测用户名是否已经占用,点击注册时检测按钮,结果如图.和.所示:图.用户名以被注册图.用户名没被注册不存在就可以进行注册,成功后即可登陆。注册成功提示如图.所示图.注册成功时提示3.2.2.2私有文件界面PrivateFile.aspx此页面的流程如图.所示页面显示Page_Load,显示数据用LodaDir函数显示LoadDir(string NowPath)用listbox显示DeleteThing(string NowPath)注意文件和文件夹的区别,还有属性删除按钮,删除选中的文件或者文件夹BtnDelete_Click上传按钮,把客户端文件传送到服务器系统文件,保存。BtnUpLoad_ClickFileDownLoad(string FullFileName) 流操作打开按钮,对选种的文件夹打开,对文件实现打开和保存两种。BtnOpen_click返回向上菜单按钮返回当前路径的ParentPath,BtnUp_Click改变选中文件或文件夹的属性,只读和隐藏。ChangeA_Clicka) Page_Load里面,根据登陆名的不同对权限和跟目录进行处理。private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面if(Page.IsPostBack=false)LoginName.Text=User.Identity.Name;if(LoginName.Text="admin")PrivatePath="e:PrivateDir"LoginPath="e:PrivateDir"else if(LoginName.Text="guest")/guest屏蔽许多按钮的使用功能PrivatePath="e:PrivateDir"LoginPath="e:PrivateDir"BtnUpLoad.Enabled=false;BtnNewDir.Enabled=false;BtnDelete.Enabled=false;changeA.Enabled=false;BtnOpen.Enabled=false;elsePrivatePath="e:PrivateDir"+""+LoginName.Text;LoginPath="e:PrivateDir"+""+LoginName.Text;nowDir.Text=PrivatePath;if(Directory.Exists(PrivatePath)=false)Directory.CreateDirectory(PrivatePath);LoadDir(PrivatePath); /初始化装入目录里面调用到LoadDir主要通过数据绑定,讲当前目录下的文件和文件夹的内容作为数据源跟ListBox进行绑定,在根据把跟目录设置为Static属性,从而达到随时跟踪当前路径的功能。主要代码如下: ArrayList values = new ArrayList();string MyFiles,MyDirs;MyFiles = Directory.GetFiles(NowPath); /得到该目录下所有文件values.AddRange(MyFiles); /加入文件MyDirs= Directory.GetDirectories(NowPath); /得到该目录下所有目录values.AddRange(MyDirs); /加入目录FileList.DataSource=values; /设定数据源 FileList.DataBind(); /绑定数据每次加载对文件的使用情况进行统计在页面上显示,并显示登陆的用户名在最上端,初始页面如图3.10统计容量用到计算文件容量的函数FolderSize(string Path),代码如下public static long FolderFileSize(string path)/计算文件的长度,B为单位long size = 0;FileInfo files = (new DirectoryInfo(path).GetFiles();foreach(FileInfo file in files)size += file.Length;return size;public static long FolderSize(string path)/计算文件的长度,单位为Blong Fsize = 0;Fsize = FolderFileSize(path);DirectoryInfo folders = (new DirectoryInfo(path).GetDirectories();foreach(DirectoryInfo folder in folders)Fsize += FolderSize(folder.FullName);return Fsize; b) 删除按钮 BtnDelete_Click主要是用DeleteThing(string NowPath)函数,主要代码如下:if(NowPath.IndexOf(".")>0) /删除文件File.Delete(NowPath);LoadDir(PrivatePath); /重新载入当前目录else /删除目录/File.SetAttributes(NowPath,FileAttributes.ReadOnly);Directory.Delete(NowPath,true); Response.Write("<script>window.alert('你删除的是文件夹,目录下所有数据将丢失!');</script>");LoadDir(PrivatePath); /重新载入当前目录删除时如为文件属性如ReadOnly则不能删除,这时要改变属性,删除提示如图3.11、 3.12和3.13 图3.11 删除文件时 图3.12 删除文件 文件夹成功 图3.13删除失败时c) 更改文件属性 changeA_Click用File.SetAttributes实现改变属性,代码如下:if (btnReadOnly1.Checked!=true&&btnHidden1.Checked!=true)/只读和隐藏都不选 /File f=new File(FileList.SelectedItem.Text);File.SetAttributes(FileList.SelectedItem.Text,FileAttributes.Normal);else if (btnReadOnly1.Checked=true) if(btnHidden1.Checked=false)File.SetAttributes(FileList.SelectedItem.Text,FileAttributes.ReadOnly);/选只读,不隐藏elseFile.SetAttributes(FileList.SelectedItem.Text,FileAttributes.Hidden|FileAttributes.ReadOnly);/隐藏,只读elseif(btnHidden1.Checked=true)File.SetAttributes(FileList.SelectedItem.Text,FileAttributes.Hidden);/隐藏,不只读更改只读属性为无即可删除原来的只读文件。d) 上传文件 BtnUpLoad_Click上传即把客户端文件传送到服务器系统文件夹中,先用“把上传的文件分成几个字符串数组,取最后一个即为文件名,在把它加到当前路径后面,即可得到此文件保存的路径,在用File 的SaveAs函数实现文件的保存。代码如下:char spliter = ''string FileName =WebFile.PostedFile.FileName.Split(spliter,10);FileInfo f=new FileInfo(WebFile.PostedFile.FileName);/Response.Write(test);long size=f.Length;string test;string NowPath = PrivatePath + "" + FileNameFileName.Length-1;通过浏览来实现上传如图.注意三个问题: 文件大小,直接用File.Length求得,再将单位B转换为KB,MB等,代码如下:if(size<1024)Response.Write("上传的文件大小为"+size+"B");else if(1024<=size&&size<)Response.Write("上传的文件大小"+size/1024.0f+"KB");else Response.Write("上传的文件"+size/.0f+"MB");WebFile.PostedFile.SaveAs(NowPath);Response.Write("<script>window.alert('上传成功');</script>");LoadDir(PrivatePath); 上传的大小限制,设定为小于M才能上传if(f.Length<) /3M 注意上传时候的同名情况,同名换名字在上传,代码如下:Response.Write("<Script language-Javascript>");Response.Write("alert('同名,换名字后再上传')");Response.Write("</script>");问题提示信息如图.、.图.文件大于M 图.文件同名 图.上传成功同时显示信息图.上传时浏览文件e)打开或者下载文件 BtnOpen_click通过FileList.SelectedItem.Text.IndexOf(".")>0来判断是文件还是文件夹当为false是为文件夹:对文件夹的打开是将把打开的文件夹路径设为当前路径,主要代码:PrivatePath=FileList.SelectedItem.Text;LoadDir(FileList.SelectedItem.Text);if(FileList.SelectedIndex.Equals(-1)nowDir.Text+="此文件夹为空"当为true时是文件,调用函数FileDownLoad(string FullFileName) 函数代码主要如下:private void FileDownload(string FullFileName)/下载 FileInfo DownloadFile = new FileInfo(FullFileName); /设置要下载的文件Response.Clear(); /清除缓冲区流中的所有内容输出Response.ClearHeaders(); /清除缓冲区流中的所有头Response.Buffer = false; /设置缓冲输出为false/设置输出流的 HTTP MIME 类型为application/octet-streamResponse.ContentType = "application/octet-stream"/将 HTTP 头添加到输出流Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8);Response.AppendHeader("Content-Length", DownloadFile.Length.ToString();/将指定的文件直接写入 HTTP 内容输出流。Response.WriteFile(DownloadFile.FullName);Response.Flush(); /向客户端发送当前所有缓冲的输出Response.End(); /将当前所有缓冲的输出发送到客户端打开文件时的时候如图.图.打开文件点保存,如图.图.保存文件点打开根据文件不同类型而不同。(略)f) 新建文件夹 BtnNewDir_Click用Directory.CreateDirextory(string path)实现文件的创建,以输入的文件名加到当前路径的后面作为文件夹的路径,同时设置路径,判断同名,在LoadDir,重新载入画面。代码如下: 同名:if(Directory.Exists(FullDirName) Response.Write("<script>window.alert('已存在,请更改名称!');</script>"); return; 属性if (chkReadOnly.Checked=true) if(chkHidden.Checked=false) DirInfo.Attributes = FileAttributes.ReadOnly;else DirInfo.Attributes = FileAttributes.ReadOnly|FileAttributes.Hidden; 3.新建DirectoryInfo DirInfo = Directory.CreateDirectory(FullDirName);新建时同名提示如图.图.文件夹以存在e)返回上级菜单返回选中文件的父目录,并把它设置成当前路径。代码如下:private void BtnUp_Click(object sender, System.EventArgs e)/返回上级目录string ParentPath=Directory.GetParent(PrivatePath).ToString();LoadDir(ParentPath);return;3.2.2.2 共享界面共享界面的代码和页面形式跟私有文件很相似。不同点如下:3.3 私有文件有个跟目录ShareDir.3.4 私有文件界面不限制用户的使用,除了guest以外。只要是登陆的用户都可以在此截面进行文件的上传,下载和文件夹的创建,删除等。共享界面如图.所示图.共享界面共享界面用于不同用户之间实现文件的传递与共享,但是上传文件大小受到限制当文件大于3M时,上传不能成功。3.2.2.3 使用说明界面这个界面对网络硬盘的使用规则进行了概述。界面如图.所示:图.使用说明界面3.2.2.4 离开界面离开界面有版权说明和离开按钮。如图.所师:图.离开界面结论随着网络技术的日益普及和信息化建设的重视,网络硬盘作为一种新型安全的网络存储系统,主要适用于个人文件存储,可以用作个人的一个网络盘,网络硬盘是一块专属的存储空间,用户通过上网登录网站的方式,可方便上传、下载文件。只要能上网,就可以用网络硬盘登录到服务器上进行个人文件的上传、删除及文件目录的新建、修改、共享等操作,随时随地存储自已的个人文件。网络硬盘作为一种当前流行的主页服务,是由于有很多这一方面的需求,所以现在流行的网络硬盘也有很多。像QQ网络硬盘,yahoo公文包,很多,但是由于服务器设立的昂贵等原因,许多免费网络的网络硬盘已经开始收费,恐怕怎么让用户觉得物有所值才是应主要考虑的事情。做到这一点也许不只是界面的花俏,在现在这样的社会,我认为需要的速度和方便。要从速度上解决网络硬盘的问题,最好用到Web2.0的技术,如AJAX(基于XML的异步Javascript),利用无刷新技术,可明显地提高网速。通过对本毕业论文的设计,我对网络知识有更深的认识,对FTP文件系统,HTTP协议,对网页的设计,对C/S结构有更深的认识。并基本掌握了ASP.NET(C#)的许多知识,尤其是File 和Directory两个类的属性、方法很熟悉,能建立多文件系统。对很多OA(智能办公系统)和网站加上网络硬盘的功能,从而方便用户实现网上文件的管理、共享、保存。本论文基于现状,采用编程语言ASP.NET作为开发工具,后台代码用微软为.NET量身定做的C#,外加SQL Server 2000数据库实现用户的管理。力图设计一个切实可行的应用系统方案。 本论文详细的介绍了系统模块设计的开发过程。尤其是界面的后台文件管理设计,系统集成后,通过测试,证明系统设计是成功有效的。希望通过本次论文的学习过程,能真正了解编程意义以及更透彻了解网络的工作原理。参考文献1ASP.NET数据库高级教程(C#篇)清华大学出版社李应伟、姚素霞、景丽编著2ASP.NET深入解析科学出版社苏红超编著3用实例学ASP.NET 电子工业出版社 美Steven A.Smith等著4C#教程北京希望电子出版社 沉舟 崔培枝 编著致谢感谢学校给我这次能真正体会的软件设计与实现的的机会,让我四年学习的知识能有个总结与更深的体会,感谢程凡老师从论文设计到实现对我论文的辅导与帮助。学校机房提供了一个免费做程序的地方,让我可以完整地完成我的论文,感谢学校里的帮助。还有很多老师对论文的意见与指导,以及朋友们对我安心做论文做出的帮助。专心-专注-专业

    注意事项

    本文(网络硬盘的设计与实现(共24页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开