2020-03-30

文件上传

1.DiskFileItemFactory diskFileItemFactory = new DiskF ileItem

// 2、创建一个核心的解析类

ServletFileUpload fileUpload = new ServletFileUpload( diskFileItemFactory);

fileUpload. setHeaderEncoding("UTF-8");

// 3、利用核心类解析Request,解析后会得到多个部分,返回一个List集合,装的是每个部分的内容

List list = fileUpload. parseRequest(request);

// 4、 遍历List集合,会得到代表每个部分的文件项的对象,根据文件项判断是否是文件上传项

for(FileItem fileItem : list) {

/ /判断这个文件项是否是普通项,还是文件上传项

if(fileItem. isFormField()) {

/ /普通项

/ /接收普通项的值

String name = fileItem. getF ieldName();/ /获取普通项的名称

/ /获取普通项的值

String value = fileItem. getString("UTF-8");

System. out . println(name + ":" + value);

}else {

//文件上传项

/ /获取文件上传项的文件的名称

String filename = fileItem. getName();

/ /获取文件上传项的文件的数据

InputStream is = fileItem. getInputStream();

/ /获取文件上传的路径:磁盘绝对路径

String realPath = getServletContext(). getRealPath("/upload");

//创建一个输出流, 写入到设置的路径中

OutputStream os = new FileOutputStream(realPath + "/" + filename);

}

} catch (FileUploadException e) {

// TODO Auto-generated catch block

e. printStackTrace();

}

你可能感兴趣的:(2020-03-30)