代码拉取完成,页面将自动刷新
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+"\"}]");
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。