java上传
我们在做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();
} 相关推荐
javamagicsun 2019-11-10
shumark 2014-07-07
RoyKings 2015-10-31
Sweetdream 2013-02-24
牧场SZShepherd 2012-03-20
南鹏飞技术 2016-06-11
dinux 2016-01-19
Andrewtao00 2011-10-23
shangsoft 2011-10-22
ISEESTARS 2011-09-07
ziyifengfei 2015-07-28
ErixHao 2011-03-30
jacky的部落 2011-03-29
zrtlin 2014-07-24
jackyzhuyuanlu 2014-07-07
delmarks 2013-12-20