怎样使用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?copy

<%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%>?

<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">?

<html>?

<head>?

<title>My?JSP?'index.jsp'?starting?page</title>?

</head>?

<body>?

<!--?encType?默认是application/x-www-form-urlencoded?-->?

<form?action="${pageContext.request.contextPath?}/upload1"?

method="POST"?enctype="multipart/form-data">?

<input?type="text"?name="content"><br>?

<input?type="file"?name="f"><br>?<input?type="submit"?

value="上传">?

</form>?

</body>?

</html>?

新建Upload1Servlet ?路径:/upload1

[java]?view plain?copy

package?cn.itcast.web.servlet;?

import?java.io.IOException;?

import?java.io.InputStream;?

import?javax.servlet.ServletException;?

import?javax.servlet.mons-io。commo-io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。