须要使用的包

这两个包在Apache官网上能够下载得到

commons-fileupload-1.3.1.jar是Apache的一个开源项目。废话不说直接说吧

前段页面

<form action="GetData" method="post" enctype="multipart/form-data">
输入网址或者文字:<input type="text" value="" name="text" /><br /> <input
type="file" value="上传" name="update" /> <br /> <input type="submit"
value="生成" id="bu" />
</form>

注意 须要加上 

enctype="multipart/form-data"

使用的是servlet

// 得到上传文件的保存文件夹,将上传的文件存放于WEB-INF文件夹下。不同意外界直接訪问,保证上传文件的安全
String savePath = this.getServletContext().getRealPath("/upload");
File file = new File(savePath);
// 推断上传文件的保存文件夹是否存在
if (!file.exists() && !file.isDirectory()) {
//文件夹不存在,须要创建");
file.mkdir();// 创建文件夹
}
try {
// 使用Apache文件上传组件处理文件上传步骤:
// 1、创建一个DiskFileItemFactory工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
// 2、创建一个文件上传解析器
ServletFileUpload upload = new ServletFileUpload(factory);
// 解决上传文件名称的中文乱码
upload.setHeaderEncoding("UTF-8");
// 3、推断提交上来的数据是否是上传表单的数据
if (!ServletFileUpload.isMultipartContent(request)) {
return;
}
// 4、使用ServletFileUpload解析器解析上传数据,解析结果返回的是一个List<FileItem>集合,每个FileItem相应一个Form表单的输入项
List<FileItem> list = upload.parseRequest(request);
String value = null;
String filename = null ;
for (FileItem item : list) {
// 假设fileitem中封装的是普通输入项的数据
if (item.isFormField()) {
// 解决普通输入项的数据的中文乱码问题
value = item.getString("UTF-8"); } else {// 假设fileitem中封装的是上传文件
// 得到上传的文件名称称。
filename = item.getName();
if (filename == null || filename.trim().equals("")) {
continue;
}
filename = filename.substring(filename.lastIndexOf("\\") + 1);
// 获取item中的上传文件的输入流
InputStream in = item.getInputStream();
// 创建一个文件输出流
FileOutputStream out = new FileOutputStream(savePath + "\\" + filename);
// 创建一个缓冲区
byte buffer[] = new byte[1024];
// 推断输入流中的数据是否已经读完的标识
int len = 0;
// 循环将输入流读入到缓冲区其中,(len=in.read(buffer))>0就表示in里面还有数据
while ((len = in.read(buffer)) > 0) {
// 使用FileOutputStream输出流将缓冲区的数据写入到指定的文件夹(savePath + "\\"+ filename)其中
out.write(buffer, 0, len);
}
// 关闭输入流
in.close();
// 关闭输出流
out.close();
// 删除处理文件上传时生成的暂时文件
item.delete();
}
}
} catch (Exception e) {
e.printStackTrace();
}

有凝视。基本就这样 欧克了

使用commons-fileupload进行上传的更多相关文章

  1. Commons FileUpload文件上传组件

    Java实现的文件上传组件有好几种,其中最为“官方”的要数Apache Commons库中的FileUpload了吧. 页面 <form method="POST" enct ...

  2. commons.fileupload 文件上传

    编辑jsp页面获取文件 <html> <head> <base href="<%=basePath%>"> <title> ...

  3. 对FileUpload文件上传控件的一些使用方法说明

    //创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ...

  4. ASP.NET中扩展FileUpload的上传文件的容量

    ASP.NET中扩展FileUpload只能上传小的文件,大小在4MB以内的.如果是上传大一点的图片类的可以在web.config里面扩展一下大小,代码如下 <system.web> &l ...

  5. (转)ASP.NET(C#)FileUpload实现上传限定类型和大小的文件到服务器

    上传文件有两个主要的目的地,一个是服务器,另一个是数据库,ASP.NET内置了FileUpload这个上传控件,文本框显示用户选择的文件的全名. 其属性主要包括: ContenLength:上传文件大 ...

  6. Commons.net FTPClient 上传文件

    使用 Commons.net FTPClient 上传 文件打不开. 原因,FTPClient 默认使用 ASCII 传输文件,FTP.ASCII_FILE_TYPE; 需要在登录代码后重新指定传输方 ...

  7. asp.net中FileUpload得到上传文件的完整路径

    asp.net中FileUpload得到上传文件的完整路径 Response.Write("完整路径:" + Server.MapPath(FileUpload1.PostedFi ...

  8. apache fileupload 文件上传,及文件进度设置获取

    文件上传action处理: boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) ...

  9. Extjs 使用fileupload插件上传文件 带进度条显示

    一.首先我们看看官方给出的插件的解释: 一个文件上传表单项具有自定义的样式,并且可以控制按钮的文本和 像文本表单的空文本类似的其他特性. 它使用一个隐藏的文件输入元素,并在用户选择文件后 在form提 ...

  10. FileUpload文件上传控件

    1.FileUpload控件的主要功能是向指定目录上传文件.FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传. 2.FileUpload控件常见的属性 ...

随机推荐

  1. MATLAB——scatter的简单应用

    scatter可用于描绘散点图. 1.scatter(X,Y) X和Y是数据向量,以X中数据为横坐标,以Y中数据位纵坐标描绘散点图,点的形状默认使用圈. 样例: X = [1:10];  Y = X ...

  2. Linux源文件夹结构呈现

    1.arch文件夹: - 相关的存储在不同平台上的代码,每个平台都采用了不同的文件夹来区分. ******Alpha平台 ******Arm平台 ******Arv32平台 ******X86平台 2 ...

  3. 一二三(The Seventh Hunan Collegiate Programming Contest)

    一二三 你弟弟刚刚学会写英语的一(one).二(two)和三(three).他在纸上写了好些一二三,可惜有些字母写错了.已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗? 输 ...

  4. XmlDocument.Load()加载xml文件时,提示分析 EntityName 时出错的问题。

    今天一个接口突然报错,错误是: 分析 EntityName 时出错. 行 35,位置 90. xmlDoc.Load(System.Web.HttpContext.Current.Server.Map ...

  5. Git——git 上传时 遗漏文件解决办法

    今天在Server上建立一个git 库,把本地的code 上传到Server,再次clone下来时,发现少了些文件.原来git 工具不上上传一些二进制,pdf,.patch等一些文件.在上传时,git ...

  6. 深入java并发Lock一

    java有像syncronized这种内置锁,但为什么还须要lock这种外置锁? 性能并非选择syncronized或者lock的原因,jdk6中syncronized的性能已经与lock相差不大. ...

  7. 怎样使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)

    原文: http://www.raywenderlich.com/64623/make-narrated-book-using-avspeechsynthesizer-ios-7 随着 PageVie ...

  8. Java中对不变的 data和object reference 使用 final

    Java中对不变的 data和object reference 使用 final 许多语言都提供常量数据的概念,用来表示那些既不会改变也不能改变的数据,java关键词final用来表示常量数据.例如: ...

  9. hosts文件导致无法访问网站

    前段时间有人反映无论怎么样都无法在自己的电脑上访问法兰克官网,那台电脑的DNS也无法解析,通过查看hosts文件后发现,原来该电脑的hosts文件木马修改过了,屏蔽了相关的域名,删除新增的或者用其他机 ...

  10. Maven安装中的问题

    按照<Maven实战>中的讲述,在安装完Maven后执行mvn -v的时候,出现了问题.在网上搜索到了解决办法: 引用:http://blog.csdn.net/xueyepiaoling ...