java文件的上传与下载Word文件下载.docx

上传人:b****2 文档编号:5141016 上传时间:2023-05-04 格式:DOCX 页数:28 大小:21.99KB
下载 相关 举报
java文件的上传与下载Word文件下载.docx_第1页
第1页 / 共28页
java文件的上传与下载Word文件下载.docx_第2页
第2页 / 共28页
java文件的上传与下载Word文件下载.docx_第3页
第3页 / 共28页
java文件的上传与下载Word文件下载.docx_第4页
第4页 / 共28页
java文件的上传与下载Word文件下载.docx_第5页
第5页 / 共28页
java文件的上传与下载Word文件下载.docx_第6页
第6页 / 共28页
java文件的上传与下载Word文件下载.docx_第7页
第7页 / 共28页
java文件的上传与下载Word文件下载.docx_第8页
第8页 / 共28页
java文件的上传与下载Word文件下载.docx_第9页
第9页 / 共28页
java文件的上传与下载Word文件下载.docx_第10页
第10页 / 共28页
java文件的上传与下载Word文件下载.docx_第11页
第11页 / 共28页
java文件的上传与下载Word文件下载.docx_第12页
第12页 / 共28页
java文件的上传与下载Word文件下载.docx_第13页
第13页 / 共28页
java文件的上传与下载Word文件下载.docx_第14页
第14页 / 共28页
java文件的上传与下载Word文件下载.docx_第15页
第15页 / 共28页
java文件的上传与下载Word文件下载.docx_第16页
第16页 / 共28页
java文件的上传与下载Word文件下载.docx_第17页
第17页 / 共28页
java文件的上传与下载Word文件下载.docx_第18页
第18页 / 共28页
java文件的上传与下载Word文件下载.docx_第19页
第19页 / 共28页
java文件的上传与下载Word文件下载.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java文件的上传与下载Word文件下载.docx

《java文件的上传与下载Word文件下载.docx》由会员分享,可在线阅读,更多相关《java文件的上传与下载Word文件下载.docx(28页珍藏版)》请在冰点文库上搜索。

java文件的上传与下载Word文件下载.docx

/body>

/html>

2

upload<

<

formname="

frm_test"

action="

${pageContext.request.contextPath}/upload"

method="

post"

enctype="

multipart/form-data"

用户名:

inputtype="

text"

name="

userName"

br/>

文件:

file"

file_img"

<

submit"

value="

注册"

/form>

SRC

packagecn.itcast._a_upload;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.IOException;

importjava.io.InputStream;

importjava.io.InputStreamReader;

importjava.io.UnsupportedEncodingException;

importjava.util.List;

importjava.util.UUID;

importjavax.servlet.ServletException;

importjavax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importmons.fileupload.FileItem;

importmons.fileupload.FileItemFactory;

importmons.fileupload.FileUploadException;

importmons.fileupload.disk.DiskFileItemFactory;

importmons.fileupload.servlet.ServletFileUpload;

importmons.io.FileUtils;

publicclassUploadServletextendsHttpServlet{

//upload目录,保存上传的资源

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

/*********文件上传组件:

处理文件上传************/

try{

//1.文件上传工厂

FileItemFactoryfactory=newDiskFileItemFactory();

//2.创建文件上传核心工具类

ServletFileUploadupload=newServletFileUpload(factory);

//一、设置单个文件允许的最大的大小:

30M

upload.setFileSizeMax(30*1024*1024);

//二、设置文件上传表单允许的总大小:

80M

upload.setSizeMax(80*1024*1024);

//三、设置上传表单文件名的编码

//相当于:

request.setCharacterEncoding("

);

upload.setHeaderEncoding("

//3.判断:

当前表单是否为文件上传表单

if(upload.isMultipartContent(request)){

//4.把请求数据转换为一个个FileItem对象,再用集合封装

List<

FileItem>

list=upload.parseRequest(request);

//遍历:

得到每一个上传的数据

for(FileItemitem:

list){

//判断:

普通文本数据

if(item.isFormField()){

//普通文本数据

StringfieldName=item.getFieldName();

//表单元素名称

Stringcontent=item.getString();

//表单元素名称,对应的数据

//item.getString("

指定编码

System.out.println(fieldName+"

"

+content);

}

//上传文件(文件流)---->

上传到upload目录下

else{

Stringname=item.getName();

//文件名

Stringtype=item.getContentType();

//文件类型

InputStreamin=item.getInputStream();

//上传文件流

/*

*四、文件名重名

*对于不同用户readme.txt文件,不希望覆盖!

*后台处理:

给用户添加一个唯一标记!

*/

//a.随机生成一个唯一标记

Stringid=UUID.randomUUID().toString();

//b.与文件名拼接

name=id+"

#"

+name;

//获取上传基路径

Stringpath=getServletContext().getRealPath("

/upload"

//创建目标文件

Filefile=newFile(path,name);

//工具类,文件上传

item.write(file);

item.delete();

//删除系统产生的临时文件

System.out.println();

}

}

else{

System.out.println("

当前表单不是文件上传表单,处理失败!

"

}catch(Exceptione){

e.printStackTrace();

}

}

//手动实现过程

privatevoidupload(HttpServletRequestrequest)throwsIOException,

UnsupportedEncodingException{

/*

request.getParameter("

//GET/POST

request.getQueryString();

//获取GET提交的数据

request.getInputStream();

//获取post提交的数据*/

/***********手动获取文件上传表单数据************/

//1.获取表单数据流

InputStreamin=request.getInputStream();

//2.转换流

InputStreamReaderinStream=newInputStreamReader(in,"

//3.缓冲流

BufferedReaderreader=newBufferedReader(inStream);

//输出数据

Stringstr=null;

while((str=reader.readLine())!

=null){

System.out.println(str);

//关闭

reader.close();

inStream.close();

in.close();

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

this.doGet(request,response);

}

%@tagliburi="

prefix="

c"

%>

下载列表<

tableborder="

1"

align="

center"

tr>

th>

序号<

/th>

文件名<

操作<

/tr>

c:

forEachvar="

en"

items="

${requestScope.fileNames}"

varStatus="

vs"

<

td>

${vs.count}<

/td>

${en.value}<

<

%--<

ahref="

${pageContext.request.contextPath}/fileServlet?

method=down&

.."

下载<

/a>

--%>

--构建一个地址-->

urlvar="

url"

fileServlet"

<

paramname="

method"

down"

/c:

param>

fileName"

${en.key}"

url>

--使用上面地址-->

${url}"

forEach>

/table>

${pageContext.request.contextPath}/upload.jsp"

文件上传<

&

nbsp;

&

method=downList"

文件下载<

3

method=upload"

hidden"

upload"

提交"

packagecn.itcast.servlet;

importjava.io.OutputStream;

import.URLEncoder;

importjava.util.HashMap;

importjava.util.Map;

/**

*处理文件上传与下载

*@authorJie.Yuan

*

*/

publicclassFileServletextendsHttpServlet{

//获取请求参数:

区分不同的操作类型

Stringmethod=request.getParameter("

if("

.equals(method)){

//上传

upload(request,response);

elseif("

downList"

//进入下载列表

downList(request,response);

//下载

down(request,response);

/**

*1.上传

privatevoidupload(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException{

//1.创建工厂对象

//2.文件上传核心工具类

//设置大小限制参数

upload.setFileSizeMax(10*1024*1024);

//单个文件大小限制

upload.setSizeMax(50*1024*1024);

//总文件大小限制

//对中文文件编码处理

//判断

if(upload.isMultipartContent(request)){

//3.把请求数据转换为list集合

//遍历

for(FileItemitem:

//获取名称

Stringname=item.getFieldName();

//获取值

Stringvalue=item.getString();

System.out.println(value);

}

//文件表单项

/********文件上传***********/

//a.获取文件名称

//----处理上传文件名重名问题----

//a1.先得到唯一标记

//a2.拼接文件名

name=id+"

+name;

//b.得到上传目录

StringbasePath=getServletContext().getRealPath("

//c.创建要上传的文件对象

Filefile=newFile(basePath,name);

//d.上传

//删除组件运行时产生的临时文件

}catch(Except

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2