Java基本概念-文件上传和下载
来源:互联网 发布:linux安装软件sudo 编辑:程序博客网 时间:2024/06/08 14:59
一 文件上传
1 在文件上传时必须将表单的提交方式设置为post,并设置表单的enctype的属性值为“multipart/form-data”
2 使用Apache的commons-fileupload组件来完成文件上传,将commons-io包和commons-fileupload包放入到工程的lib目录中
3 根据时间产生文件名避免上传重复的文件被覆盖
4 ServletFileUpload 处理上传的文件的数据,优先保存在缓冲区,如果数据超过了缓冲区大小,则保存到硬盘上,存储在DiskFileItemFactory指定目录下的临时文件。数据都接收完后,它再在从临时文件中将数据写入到上传文件目录下的指定文件中,并删除临时文件。
5 相关方法:
(1)endWith(“xxx”):判断字符串是否以xxx字符串结尾
(2)setSizeMax():服务器端可以接收的最大文件大小
(3)服务器绝对路径:String realpath = request.getSession().getServletContext().getRealPath("\\");
(4)listFiles():得到目录下的所有文件和文件夹
6 为上传的文件建一个存放的位置,一般位置分为临时和真是文件夹
二 下载文件
1 设置响应的MIMI类型
response.setContentType("application/force-download"); //提示下载弹出框
response.setHeader("Content-disposition","attachment; filename="+URLEncoder.encode(filename, "UTF-8")); //采用UTF-8编码
response.addHeader("Content-Disposition", "attachment;filename="+filename); //流的方式输出文件
2 欲下载的文件的路径。File file = new File(path);
取得文件名。String filename = file.getName();
取得文件的后缀名。String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
以流的形式下载文件。InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
1 表单添加 enctype属性,使得文件以二进制形式上传,不添加时,上传文件为文本类型,request.getParameter(),只获取文本数据
2 服务端的上传组件会将每一个表单元素封装成一个FileItem对象,以循环的方式迭代每一个FileItem
3 FileItem.isFormFiled()方法判断FileItem是否是上传文件表单元素
1 在文件上传时必须将表单的提交方式设置为post,并设置表单的enctype的属性值为“multipart/form-data”
2 使用Apache的commons-fileupload组件来完成文件上传,将commons-io包和commons-fileupload包放入到工程的lib目录中
3 根据时间产生文件名避免上传重复的文件被覆盖
4 ServletFileUpload 处理上传的文件的数据,优先保存在缓冲区,如果数据超过了缓冲区大小,则保存到硬盘上,存储在DiskFileItemFactory指定目录下的临时文件。数据都接收完后,它再在从临时文件中将数据写入到上传文件目录下的指定文件中,并删除临时文件。
5 相关方法:
(1)endWith(“xxx”):判断字符串是否以xxx字符串结尾
(2)setSizeMax():服务器端可以接收的最大文件大小
(3)服务器绝对路径:String realpath = request.getSession().getServletContext().getRealPath("\\");
(4)listFiles():得到目录下的所有文件和文件夹
6 为上传的文件建一个存放的位置,一般位置分为临时和真是文件夹
二 下载文件
1 设置响应的MIMI类型
response.setContentType("application/force-download"); //提示下载弹出框
response.setHeader("Content-disposition","attachment; filename="+URLEncoder.encode(filename, "UTF-8")); //采用UTF-8编码
response.addHeader("Content-Disposition", "attachment;filename="+filename); //流的方式输出文件
2 欲下载的文件的路径。File file = new File(path);
取得文件名。String filename = file.getName();
取得文件的后缀名。String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
以流的形式下载文件。InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
1 表单添加 enctype属性,使得文件以二进制形式上传,不添加时,上传文件为文本类型,request.getParameter(),只获取文本数据
2 服务端的上传组件会将每一个表单元素封装成一个FileItem对象,以循环的方式迭代每一个FileItem
3 FileItem.isFormFiled()方法判断FileItem是否是上传文件表单元素
0 0
- Java基本概念-文件上传和下载
- java文件上传和下载
- JAVA文件上传和下载
- java 文件上传和下载
- java-文件上传和下载
- java文件上传和下载
- java文件上传和下载
- java文件上传和下载
- java文件上传和下载
- java文件上传和下载
- Java文件上传和下载
- java文件上传和下载
- JAVA文件上传和下载
- Java实现文件上传和下载
- java Ftp文件上传和下载
- 基于java的文件上传和下载
- Java文件下载和上传源代码
- java上传和下载文件工具类
- git 回退到指定Commit时的状态
- io测试工具fio
- 编写 android.mk 中 LOCAL_C_INCLUDES 的技巧
- 目标检测 - YOLO9000 : Better, Faster, Stronger
- SpringBoot集成MyBatis
- Java基本概念-文件上传和下载
- Tomcat下使用war包发布项目
- 7.4.1
- spark dataframe和dataSet用电影点评数据实战
- h5 移动端 点击穿透 解决办法
- 加拿大综合类大学排名top3院校对雅思的成绩要求
- centos7 mysql数据库安装和配置
- 两分钟实现安全完备的登录模块
- MongoDB自动删除过期数据--TTL索引