package com.ebook.action;
import java.io.File;
import java.io.IOException;
import java.sql.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.ebook.biz.BookBiz;
import com.ebook.model.Book;
import com.ebook.model.User;
import com.sun.org.apache.xalan.internal.xsltc.trax.SmartTransformerFactoryImpl;
public class UploadAction extends HttpServlet {
private static String path = "";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
/*
* post处理 (non-Javadoc)
*
* @see
* javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest
* , javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
path = this.getServletContext().getRealPath("/upload/");
String bookAuthor = request.getParameter("bookAuthor").trim();
String bookType = request.getParameter("bookType").trim();
String uploadUser = request.getParameter("uploadUser").trim();
String uploadTime = request.getParameter("uploadTime").trim();
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload up = new ServletFileUpload(factory);
List<FileItem> ls = up.parseRequest(request);
for (FileItem fileItem : ls) {
if (fileItem.isFormField()) {
String FieldName = fileItem.getFieldName();
// getName()返回的是文件名字 普通域没有文件 返回NULL
// String Name = fileItem.getName();
String Content = fileItem.getString("GBK");
request.setAttribute(FieldName, Content);
} else {
String nm = fileItem.getName().substring(
fileItem.getName().lastIndexOf("\\") + 1);
File mkr = new File(path, nm);
String content = path+nm;
if(bookAuthor != null && nm != null && bookType != null && content != null){
Book book = new Book();
BookBiz bookBiz = new BookBiz();
book.setBookName(nm);
book.setAuthor(bookAuthor);
book.setContent(content);
book.setBookType(Integer.parseInt(bookType));
book.setUploadUser(uploadUser);
book.setUploadTime(Date.valueOf(uploadTime));
boolean flag = bookBiz.add(book);
if(flag){
User curUser = (User)request.getSession().getAttribute("curUser");
curUser.setScore(curUser.getScore()+10);
request.getSession().setAttribute("curUser", curUser);
}
}
if (mkr.createNewFile()) {
fileItem.write(mkr);// 非常方便的方法
}
request.setAttribute("result", "上传文件成功!");
}
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("result", "上传失败,请查找原因,重新再试!");
}
request.getRequestDispatcher("a.jsp").forward(
request, response);
}
}
uploadAction文件上传
最新推荐文章于 2024-06-20 08:57:48 发布