67,550
社区成员




protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
Boolean first = true;
Item i = new Item(KeponUtil.getRanName());
String pathStr = null;
if (ServletFileUpload.isMultipartContent(req)) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(4 * 1024 * 1024);
upload.setHeaderEncoding("UTF-8");
// System.out.println(storePath);
List list = null;
try {
list = upload.parseRequest(req);
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Iterator it = list.iterator();
while (it.hasNext()) {
FileItem fi = (FileItem) it.next();
// 这段代码是判断表单是否为常规表单
// 自动将表单元素装填到ITEM的对象当中
if (fi.isFormField()) {
String name = fi.getFieldName();
switch (name) {
case "uId": {
System.out.println(fi.getFieldName());
i.setuId(Integer.parseInt(fi.getString("UTF-8")));
break;
}
case "itemName": {
i.setItemName(fi.getString("UTF-8"));
break;
}
case "itemInfo": {
i.setItemInfo(fi.getString("UTF-8"));
break;
}
case "price": {
i.setPrice(fi.getString("UTF-8"));
break;
}
case "type": {
i.setType(fi.getString("UTF-8"));
break;
}
case "width": {
System.out.println("width is ok!");
i.setWidth(fi.getString("UTF-8"));
break;
}
}
} else {
String storePath = getServletContext().getRealPath("/items/" + i.getRandomName());
System.out.println(storePath);
File uploadDir = new File(storePath);
uploadDir.mkdirs();
KeponUtil.createFile(fi, storePath, fi.getName(), first, i.getRandomName()+".png");
}
}
}
if (KeponUtil.isFullItem(i)) {
String resource = "conf.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactory factioy = new SqlSessionFactoryBuilder().build(reader);
SqlSession s1 = factioy.openSession();
s1.insert("com.yuhanghs.entity.ItemMapper.addItem", i);
System.out.println("-------------------------adding");
s1.commit();
req.getRequestDispatcher("/Item").forward(req,
resp);
}
}
public static void createFile(FileItem f,String path,String fileName,Boolean index,String...i){
if(index)
{
try {
File file = new File(path, i[0]);
f.write(file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
File file = new File(path, fileName);
try {
f.write(file);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}