1 Star 0 Fork 0

mahui888 / Verification_Code_Project

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
fileUpload.txt 5.12 KB
一键复制 编辑 原始数据 按行查看 历史
String status="";//标识符
String message="";//标识符
News news = new News();
String fieldName = "";//表单元素name属性值
boolean isMultipart = ServletFileUpload.isMultipartContent(request);//判断是否是二进制上传类型
//上传到服务器的路径
String uploadFilePath = request.getSession().getServletContext().getRealPath("upload/");
//如果这个路径不存在(主要是这个上传到的文件夹)
File uploadFile = new File(uploadFilePath);
if(!uploadFile.exists()){
uploadFile.mkdirs();
}
if(isMultipart){
//创建工厂
FileItemFactory factory = new DiskFileItemFactory();
//创建文件上传对象
ServletFileUpload upload = new ServletFileUpload(factory);
//设定一次请求最大上传字节数
upload.setSizeMax(1024*1024*5);
try{
//解析form表单中的数据
List<FileItem> items = upload.parseRequest(request);
//用迭代器遍历这个集合
Iterator<FileItem> iter = items.iterator();
FileItem item = null;
boolean isunallowedType = false;//是否是不允许的类型
File saveFile = null;//要上传的文件对象
while(iter.hasNext()){
item = iter.next();
//判断这个对象是否是普通表单字段
if(item.isFormField()){
//普通字段
//获取表单name属性值
fieldName = item.getFieldName();
if("ntid".equals(fieldName)){
if(Integer.parseInt(item.getString("utf-8"))==0){
//主题没有选
/*out.print("<script type='text/javascript'>");
out.print("alert('请选择主题!');");
out.print("location.href='"+request.getContextPath()+"/newsServlet?opr=loadNewsAddTopicList';");
out.print("</script>");*/
status="exist";
message="请选择主题!";
out.print("[{\"status\":\""+status+"\",\"message\":\""+message+"\"}]");
return;
}
news.setNtid(Integer.parseInt(item.getString("utf-8")));//封装主题编号
}else if("ntitle".equals(fieldName)){
news.setNtitle(item.getString("utf-8"));
}else if("nauthor".equals(fieldName)){
news.setNauthor(item.getString("utf-8"));
}else if("nsummary".equals(fieldName)){
news.setNsummary(item.getString("utf-8"));
}else if("ncontent".equals(fieldName)){
news.setNcontent(item.getString("utf-8"));
}
}else{
//文件字段
String fileName = item.getName();
if(fileName.length()>0){
//限定类型
List<String> fileType = Arrays.asList("gif","jpg","png");
String ext = fileName.substring(fileName.lastIndexOf(".")+1);
if(fileType.contains(ext)){
saveFile = new File(uploadFilePath,item.getName());
item.write(saveFile);//上传
news.setNpicpath("upload/"+item.getName());//封装
}else{
isunallowedType = true;//上传文件不匹配
}
}
}
}
if(isunallowedType){
/*out.print("<script type='text/javascript'>");
out.print("alert('图片上传失败!文件类型只能是gif,jpg,png!');");
out.print("location.href='"+request.getContextPath()+"/newsServlet?opr=loadNewsAddTopicList';");
out.print("</script>");*/
status="exist";
message="图片上传失败!文件类型只能是gif,jpg,png!";
}else{
//设定日期,显示成功,由用户选择跳转
news.setNcreatedate(new Date());
news.setNmodifydate(new Date());
if(ns.addNews(news)){
/*out.print("<script type='text/javascript'>");
out.print("if(window.confirm('新闻添加成功!继续添加新闻吗?')){");
out.print("location.href='"+request.getContextPath()+"/newsServlet?opr=loadNewsAddTopicList';");
out.print("}else{");
out.print("location.href='"+request.getContextPath()+"/index.jsp';}");
out.print("</script>");*/
status="success";
message="新闻添加成功!";
}else{
/*out.print("<script type='text/javascript'>");
out.print("alert('新闻添加失败!');");
out.print("location.href='"+request.getContextPath()+"/newsServlet?opr=loadNewsAddTopicList';");
out.print("</script>");*/
status="exist";
message="新闻添加失败!";
}
}
}catch(FileUploadBase.SizeLimitExceededException ex){
/*out.print("<script type='text/javascript'>");
out.print("alert('图片上传失败!图片大小不能超过5M!');");
out.print("</script>");*/
status="exist";
message="图片上传失败!图片大小不能超过5M!";
} catch (FileUploadException e) {
status="exist";
message="新闻添加失败!请联系管理员";
} catch (Exception e) {
status="exist";
message="新闻添加失败!请联系管理员";
}
}
out.print("[{\"status\":\""+status+"\",\"message\":\""+message+"\"}]");
1
https://gitee.com/mahui888/Verification_Code_Project.git
git@gitee.com:mahui888/Verification_Code_Project.git
mahui888
Verification_Code_Project
Verification_Code_Project
master

搜索帮助