㈠ 怎样使用javaweb实现上传视频和下载功能
文件上传就是将客户端资源,通过网路传递到服务器端。
因为文件数据比较大,必须通过文件上传才可以完成将数据保存到数据库端的操作。
文件上传的本质就是IO流操作。
演示:文件上传应该如何操作?
浏览器端:
1.method=post 只有post才可以携带大数据
2.必须使用<input type='file' name='f'>要有name属性
3.encType="multipart/form-data"
服务器端:
request对象是用于获取请求信息。
它有一个方法 getInputStream(); 可以获取一个字节输入流,通过这个流,可以读取到
所有的请求正文信息.
文件上传原理:
浏览器端注意上述三件事,在服务器端通过流将数据读取到,在对数据进行解析.
将上传文件内容得到,保存在服务器端,就完成了文件上传。
注意:在实际开发中,不需要我们进行数据解析,完成文件上传。因为我们会使用文件上传的工具,它们已经封装好的,提供API,只要调用它们的API就可以完成文件上传操作.我们使用的commons-fileupload,它是apache提供的一套开源免费的文件上传工具。
代码演示文件上传的原理:
在WebRoot下新建upload1.jsp
[html]view plain
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>MyJSP'index.jsp'startingpage</title>
</head>
<body>
<!--encType默认是application/x-www-form-urlencoded-->
<formaction="${pageContext.request.contextPath}/upload1"
method="POST"enctype="multipart/form-data">
<inputtype="text"name="content"><br>
<inputtype="file"name="f"><br><inputtype="submit"
value="上传">
</form>
</body>
</html>
packagecn.itcast.web.servlet;
importjava.io.IOException;
importjava.io.InputStream;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//System.out.println("upload1servlet......");
//通过request获取一个字节输入流,将所有的请求正文信息读取到,打印到控制台
InputStreamis=request.getInputStream();
byte[]b=newbyte[1024];
intlen=-1;
while((len=is.read(b))!=-1){
System.out.println(newString(b,0,len));
}
is.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
在web页面中添加上传输入项。
在Servlet中读取上传文件的数据,并保存在服务器硬盘中。
1、必须设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。
2、必须把form的encType属性设为multipart/form-data 设置该值后,浏览器在上传文件时,并把文件数据附带在http请求消息体内,并使用MIME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。
3、表单的提交方式要设置为post。
Request对象提供了一个getInputStream方法,通过这个方法可以读取到客户端提交过来的数据。但由于用户可能会同时上传多个文件,在servlet端编程直接读取上传数据,并分别解析出相应的文件数据是一项非常麻烦的工作,示例。
为方便用户处理文件上传数据,Apache 开源组织提供了一个用来处理表单文件上传的一个开源组件( Commons-fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实现文件上传功能,通常使用Commons-fileupload组件实现。
使用Commons-fileupload组件实现文件上传,需要导入该组件相应支撑jar包:Commons-fileupload和commons-io。commo-io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。
新建Upload1Servlet 路径:/upload1
[java]view plain
在浏览器端访问信息如下:
文件上传概述
实现web开发中的文件上传功能,需要完成如下二步操作:
如何在web页面中添加上传输入项?
<input type="file">标签用于在web页面中添加文件上传输入项,设置文件上传输入项时注意:
如何在Servlet中读取文件上传数据,并保存到本地硬盘中?
㈡ web开发 怎么把多个文件压缩
你可以用前端自动化工具(gulp,grunt等)结合前端模块化打包工具(webpack)等进行实现
㈢ webzip离线浏览器,怎么批量下载天涯或猫扑的帖子
离线浏览器 WebZIP 2.x 下载实战 2000-02-25 出处:CPCW责任编辑: p align="left">WebZIP是由spidersoft出品的离线浏览工具,以功能强大,界面美观而着称,是同类软件中最出色的产品之一。它的主要作用,是缩短网络用户的在线浏览时间以节省费用。一般来讲,离线浏览工具按其功能分主要有两类,一种是cache(缓存)浏览器,它可以查看已经浏览过的网页,但在上网时依然需要用Navigator、Internet Explorer等浏览器一个网页接一个网页地“浏览”一遍----为了节省时间,很多用户此时根本不看网页的内容,而只是将网页资料传到cache中即算完成任务。但这种方法速度仍然不够快,因为一次只能传送一个网页。另一种则是离线浏览器,它的主要功能是将网站下载到硬盘,离线后再做查阅,比起cache浏览器,他的主要优点为:可以同时下载多个网页,而且可以网站原封不动地下载下来,如果要做镜像站,那是极为方便的。而本文要介绍的WebZIP,就属于这一类。 WebZIP不仅可以将网站的全部或部分文件下载过来,并可以自动压缩成为zip文件,浏览时再自动解压到一个临时目录,节省了硬盘空间。此外WebZIP还拥有可直接调用Internet Explorer、Netscape等WWW浏览器进行离线浏览的功能。在此笔者将给出一个下载示例,以帮助大家尽快掌握WebZIP的使用方法。 一、下载示例 (1)、设定下载站台 WebZIP的主界面如图一所示。在下载网站之前,我们要先设定下载的目标站台。方法是在WebZIP的快捷工具栏中点击“Task”,正文框中将显示出下载任务列表,这时在“Address”栏中填写目标站台,比如“ http://www.jlonline.com ”(金陵热线)。 图一WebZIP主界面 (2)、具体设置 填好目标站台后,点击“Go”按钮,将会出现下载任务设立对话框,如图二。 在“Task Name”中填写任务名称,在“Profile”中选择下载站台的方式,共有以下几个选择:默认模式、下载指定站台目录下的全部内容、下载指定站台目录下的文本与图像、下载指定页面中的全部内容、下载指定页面中的文本与图像、下载指定站台中的全部内容、下载指定站台中的文本与图像。 图二 下载任务设立对话框 接着可以对下载任务进行一些详细设置。包括: Starting address:在“Starting URL” 栏中详细填写欲下载的站台的起始URL地址,如果该站台需要口令登录,可复选“Site requires a password”栏,然后按下“User Name/Password”按钮,在“Account”中填写帐户名称,“Password” 中填写口令。 Save to:Webzip 2、50提供了两种下载网站的存盘方式。一种为将下载下来的网站存为你的局域网中的一部分,另一种则是将站台下载后打包成Zip文件存入磁盘,用户在此可以选择下载方式,对于普通用户,推荐使用第二种存盘方式。 Filetypes:在此选择下载站台里的哪些文件。我们知道,有很多WWW站台的组成是非常复杂的,除了组织站台的Html文件外,还有其他多种文件以实现其多媒体和交互功能。而用户需要下载的可能只是其中的部分文件。在“Filetypes”中,用户可指定下载文件的类型。在“Select Filetypes”框中,用户可选择下载全部文件或指定下载HTML文件、图像文件、声频文件、视频文件、Java文件、 ActiveX、插件、可执行文件、还是其它类型文件,方法是在文件类型的名称前打个勾。此外由于同一类型文件往往有有多种格式,比如图像文件有jpg、gif等,若你只想下载其中的jpg文件,可以双击“Images”,再在树型选单中用鼠标点选。其它类型的文件也可按此方式进行详细设定。 Followed Links:现在的Internet网站已变得越来越复杂,绝大多数的网站是由许多个页面组成的,在“Followed Links”里,用户可填写下载的网站层数。 URL Filters:URL过滤器。在此你可以指定下载或拒收包含某些特殊字符或短语的资料。具体内容可在“Include”栏或“Exclude”栏中填写。 Link Conversion:改变链接地址。当用户将站台下载到本地硬盘后,有些指向服务器的链接地址(使用了绝对路径)将不能使用。WebZIP提供了这项功能,可帮助用户改变链接地址,让用户下载下来的站台在本地硬盘上也能很好的运行。用户可将此对话框中两个选项复选上。 Schele:设立下载时间表。由于下载网站往往是一个漫长的过程,因此,很多用户希望能够做到在一个指定时间上(比如网络速度较快时、ISP收费较少时)开始下载。在“Schele”项中,你可在“At:”栏里填写开始下载的时间点。 (3)、下载 一切准备就绪后,就可以下载了。方法是按下“Task”工具中的“Run”按钮。如果用户在下载网站时发生中断,不要紧,WebZIP支持断点续传,这次没下载完下次继续努力!如图三。 图三 用WebZIP下载站台 在下载过程中,我们可以随时观察下载状况。点击工具栏中的Exolore,可看到正在下载的文件的名称、大小、标题等。此外每个文件的前面都有一个标记,下载完毕的文件都是以勾号标记,后面的Status栏是Parsed。如果下载过来的文件出错,就可以命令WebZIP下次重新下载它。方法是用鼠标选择该文件,单击鼠标右键,在弹出的菜单中选择Mark for update,这时文件前的标记改变,下次WebZIP会记着更新这个文件。而点击工具栏中的“Connection”,则可查看当前建立的连接,默认是同时连接10个文件进行下载,可以通过Connections滑标进行调整。靠右的“Download Priority”滑标是选择倾向于优先下载网页还是倾向于优先下载其它文件资源。 在WebZIP界面在最下方的状态栏中,显示了总共连接的时间(由于任务可以分数次进行,这里显示的是总时间)、已经下载的页面、出现的错误、下载速率等等。并有传输、暂停的快捷工具按钮。 在下载完毕后,WebZIP会弹出提示,并自动将下载的内容打包成为一个zip文件。 二、离线浏览 用WebZIP下载网站的目的就是为了离线浏览。下载完毕后,点工具栏上的Browse按钮,WebZIP首先将打包压缩的网站文件解压到一个临时目录,随后调用系统默认的浏览器进行浏览,双击工具栏中的“Browse”按钮可以扩大浏览区域。也可以事先选定浏览器,方法是选择Task后在Tasks菜单中选择Browse命令中的Offline子命令,会弹出个小菜单供你选择是用Navigator、Internet Explorer还是内置浏览器。内置浏览器与Internet Explorer兼容。 浏览的感觉和在线浏览一模一样,而且不必担心查阅时间是否过长。不过需要注意的是,内置的浏览器是和Internet Explorer兼容的,这里就有一个html文件兼容性的问题,有的网站用Navigator观看一切正常,但用Internet Explorer或内置浏览器浏览就有问题,相反的情况也可能出现,因此如果出现什么问题,最好先换个浏览器试试。 三、软件类型与下载地址 WebZIP属于共享软件,可以免费试用一个月。该软件的下载地址为: http://www.spidersoft.com 。
㈣ 如何使web讯雷多个下载
原始下核返族载线程数最多世尘只能是改弊10个.
打开WEB讯雷,在右上角找到"设置",切换到"任务默认设置"选项卡进行设置.
㈤ web迅雷同时下载多个文件回不会影响速度
会..据说速察渣度会平均..
可是余没樱我本来下载1个文件200KB/S
下载2个文件总速度却变成100多KB/S
所以还是一个一个竖丛下载吧