JavaWeb实现上传文件
需要 commons-io与commons-fileupload
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<form action="MyServlet" method="post" enctype="multipart/form-data">
最简单的文件上传:<input type="file" name="fileupload"/>
描述:<input type="text" name="desc"/>
<input type="submit" value="submit"/>
</form>
</body>
</html>
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory =newDiskFileItemFactory();
//2、创建一个文件上传解析器
ServletFileUpload upload =newServletFileUpload(factory);
//解决上传文件名的中文乱码
upload.setHeaderEncoding("UTF-8");
factory.setSizeThreshold(1024*500);//设置内存的临界值为500K
File linshi =newFile("E:\\linshi");//当超过500K的时候,存到一个临时文件夹中
factory.setRepository(linshi);
upload.setSizeMax(1024*1024*5);//设置上传的文件总的大小不能超过5M
try{
// 1. 得到 FileItem 的集合 items
List<FileItem>/* FileItem */items = upload.parseRequest(request);
// 2. 遍历 items:
for(FileItem item : items){
// 若是一个一般的表单域, 打印信息
if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString("utf-8");
System.out.println(name +": "+ value);
}
// 若是文件域则把文件保存到 e:\\files 目录下.
else{
String fileName = item.getName();
long sizeInBytes = item.getSize();
System.out.println(fileName);
System.out.println(sizeInBytes);
InputStream in = item.getInputStream();
byte[] buffer =newbyte[1024];
int len =0;
fileName ="e:\\files\\"+ fileName;//文件最终上传的位置
System.out.println(fileName);
OutputStream out =newFileOutputStream(fileName);
while((len = in.read(buffer))!=-1){
out.write(buffer,0, len);
}
out.close();
in.close();
}
}
}catch(FileUploadException e){
e.printStackTrace();
}
JavaWeb实现上传文件的更多相关文章
- JavaWeb笔记——上传文件
jsp上传文件 *<form>标签method属性必须为post,并且添加enctype="multipart/form-data"属性 ------------- ...
- javaWeb中使用ajax上传文件
javaWeb上传图片 上传文件所必要的两个jar包:commons-fileupload.jar.commons-io.jar. jar包下载:github路径 核心代码: String withP ...
- JAVAWeb SSH框架 上传文件,如2007的EXCEL
下面的代码是上传EXCEL的代码,其实,就是在上传文件到服务器,代码都差不多,只是接收的文件的类型改一下即可. 1.jsp 用的是struts2 标签 代码: <s:file name=&quo ...
- Javaweb向服务器上传文件以及从服务器下载文件的方法
先导入jar包 点击下载 commons-fileupload是Apache开发的一款专门用来处理上传的工具,它的作用就是可以从request对象中解析出,用户发送的请求参数和上传文件的流. comm ...
- javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案
在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中.但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失. 其原因是因为每次项目修改后,ecl ...
- javaweb上传文件夹
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ...
- [JavaWeb基础] 009.Struts2 上传文件
在web开发中,我们经常遇到要把文件上传下载的功能,这篇文章旨在指导大家完成文件上传功能 1.首先我们需要一个上传文件的页面. <!--在进行文件上传时,表单提交方式一定要是post的方式, 因 ...
- 上传文件服务与web服务分离
业务场景:1. 后端服务为java web应用,使用tomcat容器,多实例集群化部署.2. 前端使用nginx作为后端应用的反向代理. 业务需求:现在需要在java web应用端上传文件,同时还要能 ...
- java+web上传文件夹内的所有文件
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
随机推荐
- JUnit中@Test的运行顺序
原文链接: Test execution order 原文日期: 2012年12月06日 翻译日期: 2014年10月16日 翻译人员: 百里马 依照设计,Junit不指定test方法的运行顺序. 到 ...
- MATLAB Toolbox Path Cache is out of date and is not being used的解决
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用mcc编译MATLAB\R2009a\extern\examples\compiler目录下的hello.m,编译 ...
- 华为如何实现基于Git的跨地域协同开发
跨地域开发的需求其实由来已久,在IT/互联网发展的早期就已存在,只不过限于当时网络环境的因素,无法在线上有效的完成协同工作,所以没法实际开展.而随着近十年网络的快速发展,跨地域协同开发线变得可能而且越 ...
- C#之Linq、where()、FindAll()的区别
原地址 C#之Linq.where().FindAll()的区别 对于实现了IEnumerable接口的类.类型.集合可以使用Linq.Linq的扩展方法where().FindAll()来查询符合谓 ...
- 存储用es,消息队列用redis
自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便.只要系统架构设计合理,大型项目也能用.最近做的项目,统计中心和推荐系统,collector.calculator.recomme ...
- 阿里云CentOS7系统搭建JavaWeb环境
一,准备工作 1,安装目录 我们创建如下路径/usr/develop,然后在develop目录下面创建java,tomcat和mysql三个目录即可. 二,配置JDK 1.理解wget命令 wget命 ...
- jQuery整体架构
(function(global, factory) { factory(global); }(typeof window !== "undefined" ? window : t ...
- 理解 iOS 和 macOS 的内存管理
在 iOS 和 macOS 应用的开发中,无论是使用 Objective-C 还是使用 swift 都是通过引用计数策略来进行内存管理的,但是在日常开发中80%(这里,我瞎说的,8020 原则嘛
- WPF MVVM系列文章
网上搜到了MSDN Magazine上Laurent Bugnion的系列文章. 以下为关于WPF的优秀实践,很有必要阅读. 很吸引人的标题有: IOC Containers and MVVM Mes ...
- windows 系统文件 —— 特殊文件及文件类型
0. .mht 文件(MHTML) MHTML文件又称为聚合 HTML 文档.Web 档案或单一文件网页(聚合成单一文件).单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中.这种封装 ...