您的位置 首页 java

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

这次的项目是接着上篇文章,此次讲解的是用 JavaEE 实现前后台交互的文件上传与下载。

此次项目涉及到的相关技术:service方法中的两个重要参数( servlet Request和ServletResponse)

ServletRequest – 用接收用户的请求,它的作用是:

1.可获取请求头信息。

2.可设置请请求的 字符编码

3.可获得用户传递的参数。Post或get。

4.可获取远程(即访问者)的IP地址。

5.可获取输入流,如用户上传文件、相片等。

它的一个子接口: javax .servlet.http.HttpServletRequest

ServletResponse – 用于向用户返回数据,它的作用是:

1.设置响应类型- contentType

2.设置编码-setCharacterEncoding

3.获取输出流。

它的一个子接口:javax.servlet.http.HttpServletResponse

文件下载技术: 文件下载技术相当于文件上传技术相对而言比较简单。我们以下载图片为例:图片都是先浏览再下载

1.前端代码:通过web.xml查找后台的程序

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

2.后台显示代码:

小编整理了一份java学习资料,私信回复【01】,获取源码。

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

3.文件的具体下载

首先必须设置相应的协议。下载协议就需要设置相应的下载头

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

下载的时候需要显示当前图片的文件名,需要从前台获取,并且从下载获得之后写到前台去

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

进行具体的下载

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

效果图:

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

点击之后的效果图:

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

传文件名不一样

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

表单:

客户端发送HTTP必须使用multipart/form-data数据类型,表示复合数据类型。

即:<form enctype=“multipart/form-data”>

在表单中使用<input type=“file” name=“somename”/>html标签。

需要的包:

Commons-fileupload.jar,核心上传文件工具都在这个包中。

commons-io.jar – 上传文件所需要的包

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

详解:

DiskFileItemFactory-创建监时文件目录,指是缓存区大小

ServletFileUpload用于解析HttpServletRequest。返回一组文件对象。

FileItem – 表示用户上传的每一个文件对像。

主要流程:

File f = new File(“F:/ex/ temp “);//指定临时文件存放位置

DiskFileItemFactory ff =new DiskFileItemFactory(1024*1024*5, f);//临时文件的大小和存放位置

ServletFileUpload sf =new ServletFileUpload(ff);

List list=sf.parseRequest(request);//开始解析

for(FileItem it:list){//获得文件名。以及用到uuid解决重名的问题

FileUtils.copyInputStreamToFile(it.getInputStream(), new File(path+”/”+filename));//写的指定的文件夹中

}

1、前台代码:

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

2、后台代码:

1.首先创建一个基于硬盘的工厂,用来存放临时文件

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

2.创建一个用ServletFileUpload对象,并且设置文件大小,最大允许传多大的文件

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

3.开始解析对象

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

//映射名String id=UUID.randomUUID(). toString ().replace(“-“, “”);//全球唯一UUId来进行//文件名String lastname=name.substring(name.lastIndexOf(“.”));//文件格式//名字文件格式都找到了—组合String filename =id+lastname;//新的文件名//拷贝流。让它写到相应位置FileUtils.copyInputStreamToFile(it.getInputStream(), new File(path+”/”+filename));//path为存储的绝对路径–之前定义的}

这样能实现简单的上传,但是,这种上传是没有一点安全行了。完整的代码中附上了防一般的小问题还是没问题的

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

选择文件之后

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

查看web服务器img里面的文件,文件已经上传到该页面《文件名为uuid生成的文件名》

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

文件上传源代码:

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

声明:本文内容来源于网络,如有侵权请联系删除

文章来源:智云一二三科技

文章标题:用JavaEE实现前后台交互的文件上传与下载,适合小白入门练手!

文章地址:https://www.zhihuclub.com/174673.shtml

关于作者: 智云科技

热门文章

网站地图