servlet文件上传(工具类apache.commons.fileupload)


import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;



// 使用 apache 的 commons-FileUpload 实现文件上传

request.setCharacterEncoding("UTF-8");// 设置获取字体
response.setCharacterEncoding("UTF-8"); // 设置返回字体
//ServletContext ctx = getServletConfig().getServletContext();// 获取上下文 方式2
ServletContext ctx = request.getServletContext();// 获取上下文应用
DiskFileItemFactory factory = new DiskFileItemFactory();// 自动导入类 使用工具 commons-fileupload
File repository = (File) ctx.getAttribute("javax.servlet.context.tempdir");// 获取临时文件的存储路径
factory.setRepository(repository);// 设置工程对象的仓库
String basePath = ctx.getRealPath("/res");// 设置存储路径
System.out.println(basePath);
ServletFileUpload handler = new ServletFileUpload(factory);// 实例化 servletFileupload 上传
try {
List<FileItem> items = handler.parseRequest(request);
for(FileItem fileItem : items) {
if(fileItem.isFormField()) {
System.out.print("非文件数据");
}else {
String fileName = fileItem.getName();// 获取文件名
String fileType = fileItem.getContentType();// 获取文件类型
System.out.println(fileName);
System.out.println(fileType);
if(fileType != "do") {
File file = new File(basePath + "/" + fileName);// 创建文件实例
try {
fileItem.write(file);// 写入数据到文件
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}

}
}
} catch (FileUploadException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值