使用ServletFileUpload实现上传

1.首先我们应该为上传的文件建一个存放的位置,一般位置分为暂时和真是目录,那我们就须要获取这俩个目录的绝对路径,在servlet中我们能够这样做

		ServletContext application = this.getServletContext();
		String tempDirectory = application.getRealPath(Constant.TEMP_DIRECTORY) + "/";
		String realDirectory = application.getRealPath(Constant.REAL_DIRECTORY) + "/";

然后建立文件工厂即仓库一个參数表示存放多大后flush,

		FileItemFactory factory = new DiskFileItemFactory(Constant.SIZE_THRESHOLD,new File(tempDirectory));
		ServletFileUpload upload = new ServletFileUpload(factory);

2.对上传的文件进行设定

		upload.setSizeMax(500*1024*1024);//设置该次上传最大值为500M

3,.解析请求正文,获取上传文件,不抛出异常则写入真是路径

List<FileItem> list = upload.parseRequest(request);
			Iterator<FileItem> iter = list.iterator();
			while (iter.hasNext()) {
				FileItem item = iter.next();
				//item.isFormField()用来推断当前对象是否是file表单域的数据  假设返回值是true说明不是 就是普通表单域
				if(item.isFormField()){
					System.out.println( "普通表单域" +item.getFieldName());
					System.out.println(item.getString("utf-8"));

				}else{
					//System.out.println("file表单域" + item.getFieldName());
					/*
					 * 仅仅有file表单域才将该对象中的内容写到真实目录中
					 */
					String lastpath = item.getName();//获取上传文件的名称
					lastpath = lastpath.substring(lastpath.lastIndexOf("."));
					String filename = UUID.randomUUID().toString().replace("-", "") + lastpath;
					item.write(new File(realDirectory+filename));

复制搜索

复制搜索

复制搜索

复制搜索

复制搜索

复制搜索

使用ServletFileUpload实现上传,布布扣,bubuko.com

时间: 2024-10-10 15:02:30

使用ServletFileUpload实现上传的相关文章

JavaWeb文件的上传与下载(1)

经常用到的上传: 头像上传,资料分享等 文件上传的步骤 1.指定表单类型为文件上传表单 enctype="multipart/form-data" 2.表单提交方式必须为:post(get方式只能提交1k大小的数据) 3.表单中存在文件域表单元素 如下: <form action="${pageContext.request.contextPath/test }" method="post" enctype="multipart/

每天学习一个小功能:java文件上传

====(1.)第一种.利用普通缓冲流进行文件上传 ① 前端 注意: 1.指定表单类型为文件上传表单 :enctype="multipart/form-data"  2.提交方式必须为:post3.表单中,存在文件域 的表单元素 <form name="frm_test" action="${pageContext.request.contextPath }/shangchuan" method="post" encty

javaweb-文件的上传下载

本文用到的jar包: 文件上传:commons-fileupload-1.2.1.jar; commons-io-1.4.jar; 本文需要掌握的知识:html+dom 1 文件的上传概述; 1.1 用户把本地的文件储存到服务器上,就是文件的上传; 1.2 实现文件的上传(目前而言要使用第三方jar包); 1.2.1 jspSmartupload; 适用范围:应用在jsp的模型一里(嵌入执行上传下载操作的JSP文件中)  ; 1.2.2 fileUpload; 来源:Apache commons

一个异步文件上传的方式

不是我写的,我看了他的,思路很明确: 实现思路: 在js脚本中动态创建form,动态创建form中的内容,将文件上传的内容以隐藏域的方式提交过去,然后写好回调等. 感觉思路不难,但是我写不出来,感觉需要对于url,http有一定了解,js也ok才可. 代码: 上传的js: // JavaScript Document jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId = 'jUpl

javaweb学习总结(五)-文件上传

一.手动实现文件上传 1.指定表单类型为文件上传表单 2.提交方式必须为:POST <form enctype="multipart/form-data" method="post" action="${pageContext.request.ContextPath}/test"> 用户名:<input type="text" name="username"/>文件:<inpu

fileupload文件上传

在使用java开发文件上传时,网络上有很多不一样的工具.但是每次如果都需要开发一次,对于使用者来说,这个过程是浪费时间的.所以我们有必要选取其中一个适合自己的文件上传组件,然后对其进一步分装,形成自己的开发工具类.下面我针对自己的工程,对fileupload进行了封装. fileupload是apache的一个组件,要想使用fileupload,需要用到下面两个jar:commons-fileupload-1.3.1.jar,commons-io-1.1.jar(版本不一样,可能相关jar包不一

移动端开发之图片上传与显示

1.上传,使用servlet以及ajax (1)需要引入的包: (2)配置web.xml (3)引入servlet的程序 servlet代码: package upload; import java.sql.*;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.Date;import java.util.List; import javax.servlet.Serv

JSP中文件的上传于下载示例

一.文件上传的原理 1.文件上传的前提: a.form表单的method必须是post b.form表单的enctype必须是multipart/form-data(决定了POST请求方式,请求正文的数据类型) 注意:当表单的enctype是multipart/form-data,传统的获取请求参数的方法失效. 请求正文:(MIME协议进行描述的,正文是多部分组成的) -----------------------------7dd32c39803b2 Content-Disposition:

Java进阶学习第二十二天——上传与下载

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.06.05 lutianfei none Servlet规范中 servlet有初始化参数 Filter有初始化参数 Listener没有初始化参数,要使用,在开发中一般使用<context-param> servletContext的初始化参数. 文件上传 问题:什么是文件上传?为什么使用文件上传? 就是将客户端资源,通过网络传递到服务器端. 就是因为数据比较大,我们必须通过文件上传才可以完成将数据保存到服务器端操