package com.aheadsoft.police.kyc.command;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import com.aheadsoft.police.commonclass.Configuration;
import com.aheadsoft.police.commonclass.DBCommand;
import dreamtime.dreamnews.DBConnection;
import dreamtime.dreamnews.Function;
import dreamtime.dreamnews.News;
/**
* @author 邓健 dengjian1985@163.com
* @version 创建时间:2008-9-5 上午09:20:29 类说明
*/
public class UploadServlet extends MutiFileUpload {
/**
*
*/
private static final long serialVersionUID = 1L;
Configuration cfg = Configuration.getInstance();
private String path = cfg.getValue("path").toString();
DBConnection dbcon = new DBConnection();
DBCommand dbcomCommand = new DBCommand();
/**
* Constructor of the object.
*/
public UploadServlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to
* post.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
parse(request);
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
DelFile delfile = new DelFile();
DBCommand dbCommand = new DBCommand();
News News1 = new News();
Date d = new Date(System.currentTimeMillis());
String NewsTime=null;
String servicePath = null;
String sNews=null;
int NewsID = 0;
int smallClassID = 0;
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
if(parameters.get("NewsTime").equals(""))
NewsTime =simple.format(d);
else NewsTime = parameters.get("NewsTime");
//+" "+(new java.util.Date()).toLocaleString().substring(10);
//System.out.println(NewsTime);
Function Fun = new Function();
String AdminName = (String) request.getSession().getAttribute(
"AdminName");
String Action = parameters.get("Action");
//插入NEWS
if (Action != null && Action.equals("Add")) {
String IP = request.getRemoteAddr(); // 得到客户端Ip地址
String[] s = new String[15];
s[0] = parameters.get("NewsTitle");
s[1] = parameters.get("NewsContent");
s[2] = parameters.get("NewsKey");
s[3] = parameters.get("NewsAuthor");
s[4] = parameters.get("NewsFrom");
s[5] = NewsTime;
s[6] = parameters.get("NewsPicture");
s[7] = parameters.get("BigClassID");
s[8] = parameters.get("SClassID");
s[9] = parameters.get("IsHead");
s[10] = parameters.get("HeadPicture");
s[11] = parameters.get("IsImg");
s[12] = parameters.get("IsHot");
s[13] = parameters.get("SpecialID");
s[14] = parameters.get("NewsInfo");
sNews = News1.AddNews(s, AdminName, IP);
}
if (Action!=null && Action.equals("Edit"))
{
String Newsid = parameters.get("NewsID");
String IP = request.getRemoteAddr(); //得到客户端Ip地址
//String AdminName = (String)session.getAttribute("AdminName");
String [] s = new String[15];
s[0] = parameters.get("NewsTitle");
s[1] = parameters.get("NewsContent");
s[2] = parameters.get("NewsKey");
s[3] = parameters.get("NewsAuthor");
s[4] = parameters.get("NewsFrom");
s[5] = NewsTime;
s[6] = parameters.get("NewsPicture");
s[7] = parameters.get("BigClassID");
s[8] = parameters.get("SClassID");
s[9] = parameters.get("IsHead");
s[10] = parameters.get("HeadPicture");
s[11] = parameters.get("IsImg");
s[12] = parameters.get("IsHot");
s[13] = parameters.get("SpecialID");
s[14] = parameters.get("NewsInfo");
sNews = News1.EditNews(s,Newsid,AdminName,IP);
//System.out.println();
//如果附件TEXT中有文件上传,则删除原有文件和记录,否则 保留原文件与记录
if(files.values().size()>1){
delfile.deleteFile(Newsid);
dbCommand.add_update_delete("delete from Appendix where NewsID="+Newsid);
}
}
String NewsTitle = parameters.get("NewsTitle");
try {
Connection Conn = dbcon.getConn();
Statement stmt = Conn.createStatement(1004, 1007);
ResultSet rs = null;
String sql = "select * from News where NewsTime='" + NewsTime
+ "' and " + "NewsTitle='" + NewsTitle + "' order by NewsID desc";
rs = stmt.executeQuery(sql);
while (rs.next()) {
NewsID = rs.getInt(1);
smallClassID = rs.getInt("SmallClassID");
// System.out.println(NewsID+" "+smallClassID);
}
rs.close();
stmt.close();
Conn.close();
} catch (SQLException e) {
System.out.println(e);
}
//在这里将文件写入服务器
Iterator iterator = files.values().iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
String fileName = getFileName(item);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String filePathName = sdf.format(d);
// 在这里将字符串分离,形成2008/09/03的文件夹形式
String year = filePathName.substring(0, 4) + "\\";
String month = filePathName.substring(5, 7) + "\\";
String day = filePathName.substring(8, 10) + "\\";
String filePath = path + "\\" + year + month + day;
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
isPath(filePath, fileName);
servicePath = filePath + sdf2.format(d) + fileName;
if (servicePath.split("\\.").length > 1) {
insert(NewsTime, NewsTitle, servicePath,NewsID,smallClassID);
File file = new File(servicePath);
try {
item.write(file);
} catch (Exception e) {
e.printStackTrace();
}
}
}
if (sNews.equals("Yes")) {
out.print("<script>alert('添加新闻成功!');location.href='../admin/ListNews.jsp';</script>");
//response.sendRedirect("/news/admin/ListNews.jsp");
return;
}
else if (sNews.equals("modifyOK"))
{
out.println("<script>alert('修改新闻成功!');location.href='../admin/ListNews.jsp';</script>");
return;
}
else
{
out.print(Fun.OutError(sNews));
//out.print(Fun.OutError(sOK));
return;
}
}
private void isPath(String path, String filename) {
File file = new File(path);
if (!file.isDirectory() && !file.exists()) {
file.mkdirs();
System.out.println("makeDirs");
}
}
public void insert(String NewsTime, String NewsTitle, String path, int NewsID, int smallClassID) {
// 从NEWS表中查询出来要加入附件的NEWS, 并将相关信息插入APPDIX中
String sql_add = "";
String[] AppendixPath = path.split("\\\\");
// String[] AppendixTitle = AppendixPath[Appe
仿163附件上传,新闻
4星 · 超过85%的资源 需积分: 10 178 浏览量
2008-09-12
12:54:49
上传
评论
收藏 10KB RAR 举报
cbdhxka
- 粉丝: 16
- 资源: 26
最新资源
- Java SE Development Kit 11.0.23 macOS ARM64 DMG Installer
- python matplotlib 可视化编程.zip
- NumPy Matplotlib Matplotlib 是 Python 的绘图库 .zip
- Matplotlib主要的作用,是用来生成绘图,饼图,功率谱,条形图,错误图,散点图等.zip
- Java SE Development Kit 8u411 macOS x64 DMG Installer
- matplotlib 绘图库的cpp版本,负责图形的绘画与数据化.zip
- 1.使用xlrd扩展包读取Excel数据 2.使用Matplotlib绘制二维图像.zip
- a20bc49b4d1bfd71a60bfbde7c5fbe00a5ef385dc2087ffa3457e5cbf9d96897.png
- 基于STM32单片机的智能停车场设计源码+全部资料(优质毕业设计).zip
- 网上购物商城的设计与实现(部署视频)-kaic.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈