教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

jsp之文件上传和下载

来源:网络收集 时间:2026-05-14
导读: 很详细的文件上传和下载教程 很多初学jsp的同志都在实现文件上传到服务器或者从服务器上下载文件到本地计算机这方面不是很了解,今天在这里我会帮助大家慢慢的实现这一功能。 准备工作: 1. 到网上下载两个包 第一个叫做commons-fileupload-1.2.1.jar 第二个

很详细的文件上传和下载教程

很多初学jsp的同志都在实现文件上传到服务器或者从服务器上下载文件到本地计算机这方面不是很了解,今天在这里我会帮助大家慢慢的实现这一功能。

准备工作:

1. 到网上下载两个包

第一个叫做commons-fileupload-1.2.1.jar

第二个叫做commons-io-1.3.2.jar

2. 建一个项目用来实现文件上传和下载

我创建的Web项目名为fileUpload,截图如下

3. 我们把从网上下载下来的包copy到WebRoot目录下Web-INF下的子目录lib目录里

然后打开Referenced Libraries,你会看见两个包已经存在于里面了。

下面我们开始实现文件上传

1. 首先我们创建一个名为uploadFile.jsp的页面,如下图:

点击浏览,可以出现以下画面

很详细的文件上传和下载教程

源代码如下:

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

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+ ":" +request.getServerPort()+path+"/";

%>

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

<head>

<base href="<%=basePath%>">

<title>实现文件上传到服务器</title>

<meta http-equiv="pragma" content="no-cache">

<body> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head>

很详细的文件上传和下载教程

<form action="doFileUpload.jsp" method="post"

enctype="multipart/form-data">

文件:<input type="file" name="chooseFile"/></br>

姓名:<input type="text" name="userName"/></br>

<input type="submit" value="提交">

</form>

</body>

</html>

注意:form表单里的enctype=”multipart/form-data”这一属性一定要写,这是用来标明此表单的类型是文件类型的。

2. 创建另一个jsp页面用来处理文件上传页面(实现功能),名为doFileUpload.jsp。

一定要和form表单里action的值相同才行

源代码和注释如下:

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

import="http://doc.guandang.netmons.fileupload.servlet.ServletFileUpload"%> <%@page import="http://doc.guandang.netmons.fileupload.FileItemFactory"%> <%@page

import="http://doc.guandang.netmons.fileupload.disk.DiskFileItemFactory"%> <%@page import="http://doc.guandang.netmons.fileupload.FileItem"%>

<%@page import="java.io.File"%>

<%

//先判断是否是文件上传类型enctype="multipart/form-data"

boolean isFileUpload = ServletFileUpload.isMultipartContent(request); //如果是文件上传类型

if(isFileUpload){

//得到文件上传工厂

FileItemFactory factory = new DiskFileItemFactory();

//处理文件上传核心类 ServletFileUpload fileUpload = new ServletFileUpload(factory); //设置文件上传类的编码格式 fileUpload.setHeaderEncoding("UTF-8"); // 集合数据 : FileItem对象 注意: 每一个表单域 对应一个 FileItem对象(封装) List<FileItem> fileItemList = fileUpload.parseRequest(request); //遍历fileItemList for(FileItem item: fileItemList){ //如果这个文本域是文件类型的 if(!item.isFormField()){ //得到文本域的value值,即 路径+文件名 String value = item.getName(); //得到文件名 String fileName = value.substring(http://doc.guandang.netstIndexOf("\\")+1);

很详细的文件上传和下载教程

//得到上传的文件类型 //String fileType = fileName.substring(http://doc.guandang.netstIndexOf(".")); //给文件重新命名 日期+文件名 fileName = new Date().getTime() + fileName; //得到服务器的根路径 String rootPath = request.getRealPath("/"); //指定文件存放路径 String realPath = rootPath+"/"+"upload"; //定义文件存放的目录,注意 目录也是文件 File file = new File(realPath); //如果目录不存在 if(!file.isDirectory()){ } File newFile = new File(realPath+"/"+fileName); //向newFile文件中写入数据 item.write(newFile); }else {//如果不是文件上传的文本域,把输入的内容显示在页面上 out.print("name=" + new String(

item.getFieldName().getBytes("ISO-8859-1"),"utf-8")

+",value="+ new String(

item.getString().getBytes("ISO-8859-1"),"utf-8")); //创建文件上传目录 file.mkdirs();

%> } } }

OK,大功告成了!把项目发布到tomocat里,然后启动tomocat即可访问了,上传的文件的目录在tomocat的安装目录下此项目的根目录下例如D:\software\Tomcat 6.0\webapps\fileUpload,看看文件是不是已经在你创建的文件夹下了!

文件下载

创建download.jsp文件,源代码如下

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

<%@page import="java.io.FileInputStream"%>

<%@pageimport="com.sun.xml.internal.messaging.saaj.util.ByteOutputStream"%>

<%@page import="java.io.OutputStream"%>

<%@page import="http://doc.guandang.neters"%>

很详细的文件上传和下载教程

<%

//得到你要下载的文件名(由前一个页面传过来)

String fileName = new String

(request.getParameter("fileName").getBy …… 此处隐藏:2860字,全部文档内容请下载后查看。喜欢就下载吧 ……

jsp之文件上传和下载.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1695786.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)