在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天就来讲一下Java Web开发中的文件上传和下载功能的实现。
文件上传概述
实现Web开发中的文件上传功能,需完成如下二步操作:
- 在Web页面中添加上传输入项;
- 在Servlet中读取上传文件的数据,并保存到本地硬盘中。
那如何在Web页面中添加上传输入项呢?我们可以这样回答:<input type="file"
标签用于在Web页面中添加文件上传输入项,设置文件上传输入项时须注意:
- 必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据;
- 必须把form的enctype属值设为multipart/form-data。设置该值后,浏览器在上传文件时,将把文件数据附带在http请求消息体中,并使用MIME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。
现在我们设计一个这样的文件上传页面——upload.jsp。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传页面</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/UploadServlet" enctype="multipart/form-data" method="post">
上传用户:<input type="text" name="username" /><br/>
上传文件1:<input type="file" name="file1"><br/>
上传文件2:<input type="file" name="file2"><br/>
<