/**
* 根据request,获取上传的非结构化数据
* 备注:非结构化数据会存储临时文件,并返回临时文件路径的集合
*
* @param request
* @return List<String>:上传文件的集合,其中string为文件的临时路径
* @throws TranFailException
*/
public List<String> getReqFile(HttpServletRequest request) throws TranFailException {
List<String> fileList = new ArrayList<String>();
try {
// 创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
// 判断 request 是否有文件上传,即多部分请求
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;// 转换成多部分request
Iterator<String> iter = multiRequest.getFileNames();// 取得request中的所有文件名
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());// 取得上传文件
if (file != null) {
String myFileName = file.getOriginalFilename() == null ? null : file.getOriginalFilename().trim();// 取得当前上传文件的文件名称
// 如果名称不为"",说明该文件存在,否则说明该文件不存在
if (!"".equals(myFileName) && myFileName != null) {
myFileName = myFileName.toLowerCase();
int fileType = myFileName.lastIndexOf(".");
if (fileType == -1) {
System.out.println("文件格式不正确,无扩展名="+ myFileName);
} else {
String extension = myFileName.substring(fileType + 1);// 扩展名
String localFilePath = "D:\\a"; // 创建文件路径
File dest = new File(localFilePath); // 将MultipartFile转成file存在本地 再从本地拿到文件进行压缩上传
file.transferTo(dest);
ImgUtil.compressPic(dest, localFilePath); //压缩文件
fileList.add(localFilePath);
}
}
}
}
}
} catch (Exception e) {
}
return fileList;
* 根据request,获取上传的非结构化数据
* 备注:非结构化数据会存储临时文件,并返回临时文件路径的集合
*
* @param request
* @return List<String>:上传文件的集合,其中string为文件的临时路径
* @throws TranFailException
*/
public List<String> getReqFile(HttpServletRequest request) throws TranFailException {
List<String> fileList = new ArrayList<String>();
try {
// 创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
// 判断 request 是否有文件上传,即多部分请求
if (multipartResolver.isMultipart(request)) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;// 转换成多部分request
Iterator<String> iter = multiRequest.getFileNames();// 取得request中的所有文件名
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());// 取得上传文件
if (file != null) {
String myFileName = file.getOriginalFilename() == null ? null : file.getOriginalFilename().trim();// 取得当前上传文件的文件名称
// 如果名称不为"",说明该文件存在,否则说明该文件不存在
if (!"".equals(myFileName) && myFileName != null) {
myFileName = myFileName.toLowerCase();
int fileType = myFileName.lastIndexOf(".");
if (fileType == -1) {
System.out.println("文件格式不正确,无扩展名="+ myFileName);
} else {
String extension = myFileName.substring(fileType + 1);// 扩展名
String localFilePath = "D:\\a"; // 创建文件路径
File dest = new File(localFilePath); // 将MultipartFile转成file存在本地 再从本地拿到文件进行压缩上传
file.transferTo(dest);
ImgUtil.compressPic(dest, localFilePath); //压缩文件
fileList.add(localFilePath);
}
}
}
}
}
} catch (Exception e) {
}
return fileList;
}
详解链接:http://yanglei008.iteye.com/blog/246920
希望对你有帮助!