基于bs架构手机的文件传输系统毕业论文_第1页
基于bs架构手机的文件传输系统毕业论文_第2页
基于bs架构手机的文件传输系统毕业论文_第3页
基于bs架构手机的文件传输系统毕业论文_第4页
基于bs架构手机的文件传输系统毕业论文_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

+ 学院工程化综合训练报告题目:基于B/S架构的手持机文件传输功能(Android)院 系: 学院 专业班级: 计算机科学与技术(嵌入式应用) 成 员: 120101101211 吴辉 120101101212 薛丹丹 120101101229 王楷木 120101101230 周俊杰 指导教师: 陈新伟 陈靖 2013 年 10 月 28 日1学院工程化综合训练任务书 计算机科学 院系 嵌入式方向 教研室学 号120101101211 120101101212 120101101229 120101101230学生姓名吴 辉薛丹丹王楷木周俊杰专业(班级)计算机科学与技术(嵌入式应用)设计题目基于B/S架构的手持机文件传输功能(Android)(B类)设计技术参数i-jetty支持HTTP 1.0/1.1传输速率为200KB/S文件大小限制为10M使用java + html + css + javascript 开发设计要求在手持机(各种操作系统中选取一种)架设Web服务,使得局域网内的PC机能够通过登录服务器,将制定的文件下载到手持机中。(1)Web服务器架设。(2)支持文件上传功能。(3)利用实验验证上传的文件正确,能够正常使用。工作量课程设计报告(不附源程序),不得少于10页,源程序不等小于500行工作计划确定任务书 1天需求分析说明书 1天概要设计说明书 4天详细设计说明书 5天系统实现 5天测试与改进 3天论文和答辩 1天参考资料I-jetty 软件简介 -/p/i-jetty/java程序设计语言基础篇 - 李娜(西安电子科技大学) 业出版社Android端i-jetty服务器开发 - 百度文库指导教师签字 教研室主任签字 学院工程化综合训练基于B/S架构的手持机文件传输功能(Android) 需求分析说明书 成 员: 120101101211 吴辉 120101101212 薛丹丹 120101101229 王楷木 120101101230 周俊杰 指导教师: 陈新伟 陈靖2013 年 10 月 28 日1.引言1.1编写目的需求说明的编写是为了研究基于B/S架构的手持机文件传输功能(Android)的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和 测试的依据。本文档将对基于B/S架构的手持机文件传输功能(Android)软件开发需求进行描述。本需求的预期读者是与此软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。1.2背景随着计算机技术的快速发展,基于B/S架构的信息技术得到了大规模的应用。信息时代的到来,手持机的普及。市场上越来越多的Android手机受到广大消费者的欢迎。在快餐时代的今天,生活高节奏化,很多消费者出门会忘记带数据线。我们这款软件就是考虑到消费者忘记带数据线的情况下如何利用局域网进行文件传输,通过手机架构一个服务器,在局域网内的笔记本可以通过上网将文件传输到服务器上,在手机sd卡上面找到对应的文件,实现手持机文件传输功能。该软件给Android手机用户提供了便利以及快捷的文件传输功能。开发软件名称:基于B/S架构的手持机文件传输功能(Android)项目开发者:学院计算机科学系实训小组用户单位: Android手机用户1.3定义B/S架构:(Browser/Sever,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。文件传输:File transfer通过一条网络连接从远地站点(remote site)向本地主机(local host)复制文件。1.4参考资料I-jetty 软件简介 -/p/i-jetty/java程序设计语言基础篇 - 李娜(西安电子科技大学) 业出版社Android端i-jetty服务器开发 - 百度文库2、任务概述2.1目标 本系统通过强大的计算机技术给Android手机用户文件传输带来便利。目标还包括:l 减少人力的浪费与数据线的费用;l 改进文件传输的模式和服务理念;l 建立高效的信息传输和服务平台,为用户提供便利; l 系统设计优良,界面设计精美、友好、快捷,人性化设计,后台服务器功能强大、效率高;l 更简便、信息化程度更高的文件传输流程;2.2用户特点本软件的最终用户是面向Android手机用户,使用Android手机的用户其年龄层次分布不均,较青年者比较熟悉计算机,可以很好的掌握这一软件的使用;较年老者对计算机并不熟悉,需要一定的讲解与说明,帮助其使用此功能。系统维护人员为计算机专业人员,熟悉B/S架构、操作系统、网络维护工作。维护人员为间隔性用户。1. 人力资源约束:a. 估计开发该系统需购买硬件、外部设备(PC微机一台、Android手机一台),花费1万元左右,开发工作量约需1个人月工作量,共需要4名人员,其中开发人员2名,文档编辑人员1名,测试人员1名。b. 辅导老师2人。 2. 技术约束:本项目的设计是在Java程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。 3. 环境约束:运行该软件所适用的具体设备必须是奔腾4、内存256MB以上的计算机,Android手机3、需求规定在快餐时代的今天,生活高节奏化,很多消费者出门会忘记带数据线。我们这款软件就是考虑到消费者忘记带数据线的情况下如何利用局域网进行文件传输,通过手机架构一个服务器,在局域网内的笔记本可以通过上网将文件传输到服务器上,上传成功后在手机sd卡上面找到对应的文件,实现手持机文件传输功能。该软件给Android手机用户提供了便利以及快捷的文件传输功能。3.1对功能的规定通过局域网连接PC与Android手机,实现文件的传输功能。3.2传输文件限制文件大小限制为10m,文件类型理论上不限,但为了便于查看验证,建议限制为图片或文档类。3.3传输速率传输速率取决于手机网卡性能。3.4可移植性安卓2.3及以上系统均可适用3.5数据管理能力要求工程流程图: 图3.5工程流图3.6其他专门要求l 数据的安全性、完整性要求:传输的文件必须保证安全性和完整性。4、运行环境规定4.1硬件环境服务器 (1) 处理器(CPU):Android 2.3 (2) 内存容量(RAM):128M或更高客户端 (1) 处理器(CPU):Pentium 133M 或更高 (2) 内存容量(RAM):256M或更高4.2软件环境Web服务器端(1) 操作系统:Android 2.3(2) i-jetty客户端(1) 操作系统:Windows 98/2000/2003/XP(2) Web浏览器:Internet Explorer 5.0以上或Netscape 4.0以上开发工具:(1) MyEclipse(2) Dreamweaver(3) Photoshop4.3接口硬件接口:考虑到大量数据的备份等要求,需要保持Android手机与计算机网络连通。4.4控制由于本系统采用目前的主流技术,只需要以Windows 2000或NT以上核心操作系统来控制网页运行,至于其它则无。学院工程化综合训练基于B/S架构的手持机文件传输功能(Android) 概要设计说明书 成 员: 120101101211 吴辉 120101101212 薛丹丹 120101101229 王楷木 120101101230 周俊杰 指导教师: 陈新伟 陈靖 2013 年 11 月 1 日1、引言1.1编写目的 编写这份概要设计说明书目的一是指导项目成员进行开发,以保证项目进行的延续性和稳定性,另外由于本项目属于科研项目范畴,该概要设计说明书将成为本科研课题的一项重要依据。1.2背景u 项目名称:基于B/S架构的手持机文件传输功能(Android)u 项目功能:本软件运行在PC(Windows系统)与android手机上,PC必须与android手机在同一个局域网内。用户首先在android手机上用I-jetty软件架构一个服务器,再在PC端上上传文件至服务器,然后即可在android端sd卡上找到该文件。文件大小不超过10M,但为方便检验与传输,建议文件类型为图片或文档类。u 项目开发者: 王楷木(组长),吴辉,薛丹丹,周俊杰u 项目承接单位:学院计算机科学系实训小组u 最终用户:面向Android手机用户1.3定义B/S架构:(Browser/Sever,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。文件传输:File transfer通过一条网络连接从远地站点(remote site)向本地主机(local host)复制文件。2、总体设计2.1需求规定在快餐时代的今天,生活高节奏化,很多消费者出门会忘记带数据线。我们这款软件就是考虑到消费者忘记带数据线的情况下如何利用局域网进行文件传输,通过手机架构一个服务器,在局域网内的笔记本可以通过上网将文件传输到服务器上,上传成功后在手机sd卡上面找到对应的文件,实现手持机文件传输功能。该软件给Android手机用户提供了便利以及快捷的文件传输功能。2.1.1对功能的规定l 构建服务器从网站下载i-jetty服务器的压缩包。1.将jetty解压缩后复制到任何一个目录下,注意尽量不要包含中文路径。2.打开命令提示符窗口,找到jetty的路径,使用命令启动服务:javajarstart.jar要注意你的电脑上必须有jdk并且配置了环境变量。这样服务就启动起来了,服务器默认的端口是8080,l PC机向手机传输文件PC端登陆文件传输系统页面,上传文件,上传成功后,在手机端/sdcar/Download/目录下找到对应的文件。2.1.2对性能的规定l 传输文件限制文件大小限制为10m,文件类型理论上不限,但为了便于查看验证,建议限制为图片或文档类。l 传输速率传输速率取决于手机网卡性能。l 可移植性安卓2.3及以上系统均可适用2.2运行环境规定2.2.1硬件环境服务器 (1) 处理器(CPU):Android 2.3 (2) 内存容量(RAM):128M或更高客户端 (1) 处理器(CPU):Pentium 133M 或更高 (2) 内存容量(RAM):256M或更高2.2.2软件环境Web服务器端(1) 操作系统:Android 2.3(2) i-jetty客户端(1) 操作系统:Windows 98/2000/2003/XP(2) Web浏览器:Internet Explorer 5.0以上或Netscape 4.0以上开发工具:(4) MyEclipse(5) Dreamweaver(6) Photoshop2.2.3接口 硬件接口:考虑到大量数据的备份等要求,需要保持Android手机与计算机网络连通。2.2.4控制由于本系统采用目前的主流技术,只需要以Windows 2000或NT以上核心操作系统来控制网页运行,至于其它则无特殊要求。2.3 系统框架 图2.3系统框架图2.4结构2.4.1基于B/S架构的手持机文件传输功能(Android)本数据处理平台包括三个模块,分别为:模块名用途PC端登陆网页添加文件并上传I-jetty手机上的小型服务器手机端接收上传的文件,写入sd卡 表2.4.1模块功能表具体功能定义如下:模块一PC端1、首页(Index):文件传输系统首页2、添加文件(Add File):添加需传送给手机的文件3、上传处理 (Uploadservlet):处理上传功能4、上传成功(Success.html):显示成功的结果5、上传失败(fail.html):发生异常的结果1、HTTP服务:进一步成为web容器,来提供动态的HTTP内容模块二I-jetty2、servlet容器:HTTP服务和servlet容器协同工作,使Jetty成为动态的web服务器3、jetty client组件:可以方便的向web服务器发送HTTP请求和处理HTTP响应4、异步servlet:允许在某个时刻挂起当前请求,释放被绑定的线程,然后当该请求被执行时,Jetty会分配一个线程来继续该请求1、热点共享:打开手机端热点,让PC端接入使它们处于同一局域网内2、打开I-jetty服务器:打开I-jetty服务器,按“start”进入。3、检查文件是否上传成功:如果文件上传成功,在手机SD卡上能找到对应文件。模块三手机端2.5功能需求与程序的关系系统模块1系统模块2系统模块3功能需求1功能需求2功能需求3 表2.5功能需求与程序的关系表3.系统出错处理设计3.1出错信息对个人分工模块进行检查以及出错信息采集,发现问题之后首先做记录,然后报给设计人员进行更改,力求更完善的系统。3.2补救措施说明故障出现后可能采取的变通措施,包括:a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术。b降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分。c恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。学院工程化综合训练基于B/S架构的手持机文件传输功能(Android) 详细设计说明书成 员: 120101101211 吴辉 120101101212 薛丹丹 120101101229 王楷木 120101101230 周俊杰 指导教师: 陈新伟 陈靖 2013 年 11 月 4 日1.引言1.1目的本说明书的编写是为了让开发人员详细了解基于B/S架构的手持机文件传输功能(Android)。应该完成的功能和各模块输入、处理、输出关系指导开发人员正确高效的完成产品的设计。同时作为测试人员的参考资料使用。面向的读者:硬件设计师、软件设计师、测试人员、评审员。1.2背景u 项目名称:基于B/S架构的手持机文件传输功能(Android)u 项目功能:本软件运行在PC(Windows系统)与android手机上,PC必须与android手机在同一个局域网内。用户首先在android手机上用I-jetty软件架构一个服务器,再在PC端上上传文件至服务器,然后即可在android端sd卡上找到该文件。文件大小不超过10M,但为方便检验与传输,建议文件类型为图片或文档类。u 项目开发者: 王楷木(组长),吴辉,薛丹丹,周俊杰u 项目承接单位:学院计算机科学系实训小组u 项目的种类: 科研开发项目组。u 最终用户:面向Android手机用户1.3定义B/S架构:(Browser/Sever,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。I-jetty:Jetty是一款运行在Android平台的并且流行的web服务器,为在手机上实现个人web服务的世界提供了可能,可以让您在手机环境中运行存在的web应用程序。文件传输:File transfer通过局域网连接从远地站点(remote site)向本地主机(local host)复制文件。Web browser:网络浏览器HTTP:Hyper Text Transfer Protocol(超文本传输协议)HTML:Hyper Text Markup Language (超文本标记语言)1.4参考资料I-jetty 软件简介 -/p/i-jetty/java程序设计语言基础篇 - 李娜(西安电子科技大学) 翻译 机械工业出版社Android端i-jetty服务器开发 - 百度文库2. 文件传输系统详细设计2.1文件传输系统结构图图2.1文件传输系统结构图2.2文件传输系统结构模块具体功能定义如下:模块一PC端1、首页(Index):文件传输系统首页2、添加文件(Add File):添加需传送给手机的文件3、上传处理 (Uploadservlet):处理上传功能4、成功结果(Success):显示成功的结果5、失败结果(exception):发生异常的结果1、HTTP服务:进一步成为web容器,来提供动态的HTTP内容模块三手机端模块二I-jetty2、servlet容器:HTTP服务和servlet容器协同工作,使Jetty成为动态的web服务器3、jetty client组件:可以方便的向web服务器发送HTTP请求和处理HTTP响应4、异步servlet:允许在某个时刻挂起当前请求,释放被绑定的线程,然后当该请求被执行时,Jetty会分配一个线程来继续该请求1、热点共享:打开手机端热点,让PC端接入使它们处于同一局域网内2、打开I-jetty服务器:打开I-jetty服务器,按“start”进入。3、检查文件是否上传成功:如果文件上传成功,在手机SD卡上能找到对应文件。 3.文件传输系统各模块说明3.1 I-jetty服务器的安装及系统环境配置i-jetty下载地址:/p/i-jetty/downloads/list 3.1.1下载安装包 3.1.2 安装成功后手机显示图标 3.1.3打开I-jetty界面 3.2 文件传输系统各模块 3.2.1 网页界面模块 主页模块展示及代码详解 图3.2.1 文件大小控制模块 图3.2.2网页背景设置图3.2.3按钮布局设置 图3.2.4 表单 图3.2.5 主页 上传成功页面模块展示及代码详解 图3.2.6 跳转与背景图片 图3.2.7 上传成功 上传失败页面模块展示及代码详解 图3.2.8 跳转与背景图片 图3.2.9 上传失败3.2.2 文件传输功能代码代码模块一:解析表单 public class UploadServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException final int NONE = 0; / 状态码,表示没有特殊操作 final int DATAHEADER = 1; / 表示下一行要读到报头信息 final int FILEDATA = 2; / 表示下面要读的是上传文件和二进制数据 final int FIELDDATA = 3; / 表示下面要读到表单域的文本值 try / 请求消息实体的总长度(请求消息中除消息头之外的数据长度) int totalbytes = request.getContentLength(); / 容纳请求消息实体的字节数组 byte b = new bytetotalbytes; / 请求消息类型 String contentType = request.getContentType(); String fieldname = ; / 表单域的名称 String fieldvalue = ; / 表单域的值 String filename = ; / 上传的文件名称 String boundary = ; /分界符字符串 String lastboundary = ; / 结束分界符字符串 int fileSize = 0; / 文件长度 / 容纳表单域的名称/值的哈希表 Hashtable formfields = new Hashtable(); / 在消息头类型中找到分界符的定义 int pos = contentType.indexOf(boundary=); if (pos != -1) pos += boundary=.length(); boundary = - + contentType.substring(pos); / 解析出分界符 lastboundary = boundary + -; / 得到结束分界符 int state = NONE; / 起始状态为NONE / 得到请求消息的数据输入流 DataInputStream in = new DataInputStream(request.getInputStream(); in.readFully(b); / 根据长度,将消息实体的内容读入字节数组b中 in.close(); / 关闭数据流 String reqcontent = new String(b); / 从字节数组中得到表示实体字符串 / 从字符串中得到输出缓冲流 BufferedReader reqbuf = new BufferedReader(new StringReader(reqcontent); / 设置循环标志 boolean flag = true; int i = 0; while (flag = true) String s = reqbuf.readLine(); if (s = lastboundary | s = null) break; switch (state) case NONE: if (s.startsWith(boundary) / 如果读到分界符,则表示下一行一个头信息 state = DATAHEADER; i += 1; break; case DATAHEADER: pos = s.indexOf(filename=); / 先判断出这是一个文本表单域的头信息,还是一个上传文件的头信息 if (pos = -1) / 如果是文本表单域的头信息,解析出表单域的名称 pos = s.indexOf(name=); pos += name=.length() + 1; / 1表示后面的的占位 s = s.substring(pos); int l = s.length(); s = s.substring(0, l-1); fieldname = s; / 表单域的名称放入fieldname state = FIELDDATA; /设置状态码,准备读取表单域的值 else / 如果是文件数据的头,先存储这一行,用于在字节数组中定位 String temp = s; / 先解析出文件名 pos = s.indexOf(filename=); pos += filename=.length() + 1; /1表示后面的的占位 s = s.substring(pos); int l = s.length(); s = s.substring(0, l-1); pos = s.lastIndexOf(); s = s.substring(pos + 1); filename = s; / 文件名存入filename / 下面这一部分从字节数组中取出文件的数据 System.out.println(filename); pos = byteIndexOf(b, temp, 0); / 定位行 / 定位下一行,2 表示一个回车和一个换行占两个字节 b = subBytes(b, pos + temp.getBytes().length+2, b.length); / 再读一行信息,是这一部分数据的Content-type s = reqbuf.readLine(); 代码模块二:写文件 / 设置文件输入流,准备写文件 File f = new File(/sdcard/Download/ + filename); DataOutputStream fileout = newDataOutputStream(new FileOutputStream(f); / 字节数组再往下一行,4表示两回车换行占4个字节,本行的回车换行2个字节,Content-type的下 / 一行是回车换行表示的空行,占2个字节 / 得到文件数据的起始位置 b = subBytes(b, s.getBytes().length + 4, b.length); pos = byteIndexOf(b, boundary, 0); / 定位文件数据的结尾 b = subBytes(b, 0, pos - 1); /取得文件数据 fileout.write(b, 0, b.length - 1); /将文件数据存盘 ileSize = b.length - 1; /文件长度存入fileSize state = FIELDDATA; break; case FIELDDATA: / 读取表单域的值 s = reqbuf.readLine(); fieldvalue = s; / 存入fieldvalue formfields.put(fieldname, fieldvalue); state = NONE; break; case FILEDATA: / 如果是文件数据不进行分析,直接读过去 while (!s.startsWith(boundary) & (!s.startsWith(lastboundary) s = reqbuf.readLine(); if (s.startsWith(boundary) state = DATAHEADER; else break; break; request.getRequestDispatcher(/success.html).forward(request, response); catch (Exception e) request.getRequestDispatcher(/fail.html).forward(request, response); e.printStackTrace();public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doGet(request, response);private static int byteIndexOf(byte b, String s, int start) return byteIndexOf(b, s.getBytes(), start);/* * 字节数组中的indexOf函数,与String类中的indexOf类似 b 要搜索的字节数组 s 要找的字节数组 start 搜索的起始位置 * 如果找到,返回s的第一个字节在b中的下标,没有则返回-1 */private static int byteIndexOf(byte b, byte s, int start) int i;if (s.length = 0) return 0;int max = b.length - s.length;if (max max) return -1;if (start 0) start = 0;/ 在b中找到s的第一个元素search: for (i = start; i = max; i+) if (bi = s0) / 找到了s中的第一个元素后,比较剩余的部分是否相等int k = 1;while (k s.length) if (bk + i != sk) continue search;k+;return i;return -1;/* * 用于从一个字节数组中提取一个字节数组 类似于String 类的substring() */private static byte subBytes(byte b, int from, int end) byte result = new byteend - from;System.arraycopy(b, from, result, 0, end - from);return result;/* * 用于从一个字节数组中提取一个字符串 类似于String类的substring() */private static String subBytesString(byte b, int from, int end) return new String(subBytes(b, from, end);3.2.3 项目的移植 因为android上的java虚拟机不能直接解释执行.class文件,所以首先需要把web项目中的.class文件和.jar文件转换成虚拟机能识别的.dex文件 这里假设web项目的目录在:E:demo 1. 需要将WEB-INF/classes目录和lib目录下的文件,用dx命令处理成classes.dex并放到lib目录下,进入window的dos,进入Android的SDK,,用dx.bat打包。d:cd adt-bundle-windows-x86-20130917cd sdkcd platform-toolsdx.bat -dex -output=E:demoWEB-INFlibclasses.zip E:demoWEB-INFclasses E:demoWEB-INFlib 2. 打成war包 ,进入项目目录中。 cd E:demo jar -cvf demo.war *.* 3. 生成classes.zip后,可以将原先的.class和.jar删除掉。 4. 通过i-jetty的download功能,把war下载到设备上去, 也可以直接把demo.war放到/sdcard/jetty/webapps/目录下。 5. 启动i-jetty。 4.工程化实训小组组成及分工 4.1小组组成姓名学号负责任务组成成分王楷木120101101229文件传输功能的实现组长周俊杰120101101230服务器搭建与测试组员吴辉120101101211网页界面设计与文档编写组员薛丹丹120101101212网页界面设计与文档编写组员4.2小组进度及成员分工进度任务 小组参与人 实际完成情况 需求分析确定课题任务、系统功能王楷木,吴辉,周俊杰,薛丹丹如期完成 概要设计设计系统架构、划分模块功能王楷木,薛丹丹,周俊杰,吴辉如期完成 详细设计与系统实现l 设计网页界面l 文件上传模块的实现王楷木,吴辉 如期完成 功能测试测试文件上传的正确性周俊杰,薛丹丹如期完成 书写报告课程设计报告书的书写周俊杰,薛丹丹,吴辉,王楷木如期完成 5.具体操作与效果演示5.1 设置Android手机便携式热点 图 5.1 设置便携式热点5.2 PC端连接wifi 图 5.2 连接wifi5.3 打开i-jetty 图 5.3 打开i-jetty5.4 PC机通过浏览器访问文件传输网页 图5.4.1网页地址 图 5.4.2 上传首页5.5 进行上传,显示结果 图5.5.1 选择上传文件 图5.5.2 上次成功界面 图5.5.3 上次失败界面5.6 检查上传文件的完整性 上传成功手机sd卡上即可接收到文件 图5.6 手机接收的文件 学院工程化综合训练基于B/S架构的手持机文件传输功能(Android) 用户使用说明书 成 员: 1201

温馨提示

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

评论

0/150

提交评论