当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

java上传

发表于: 2012-02-15   作者:g21121   来源:转载   浏览:
摘要: 我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。 我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/ 下面是servlet的代码: //定义一个磁盘文件工厂 DiskFileItemFactory fact

我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。

我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/

下面是servlet的代码:

//定义一个磁盘文件工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
//获取ServletFileUpload的实例
ServletFileUpload fileUpload = new ServletFileUpload(factory);
//设置最大上传限制
fileUpload.setSizeMax(1024 * 1025 * 1024);
try {
	//获取上传文件列表
	List items = fileUpload.parseRequest(request);
	Iterator iter = items.iterator();
	//对文件进行迭代
	while (iter.hasNext()) {
//获取每一个上传文件
FileItem item = (FileItem) iter.next();
if (item.isFormField()) {
	String name = item.getFieldName();
	String value = item.getString();
	System.out.println(name + ":" + value);
} else {
	String fieldName = item.getFieldName();
	String fileName = item.getName();
	String contentType = item.getContentType();
	boolean isInMemory = item.isInMemory();
	long sizeInBytes = item.getSize();
	String path = getServletContext().getRealPath("/");
	//将文件写入磁盘
	File uploadedFile = new File(path + +new Random().nextInt(Integer.MAX_VALUE) + "_" + fileName);
	item.write(uploadedFile);
}
	}
} catch (FileUploadException e) {
	e.printStackTrace();
} catch (Exception e) {
	e.printStackTrace();
}

 

java上传

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号