ServletFileUpload 上传文件 大小为零!求解决

kEnnponN 2016-08-03 12:11:15
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();
}
}
...全文
230 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

我也遇到这个问题了,怎么整

kEnnponN 2016-08-03
  • 打赏
  • 举报
回复 1
可以建立目录和文件 但是文件大小为0!
kEnnponN 2016-08-03
  • 打赏
  • 举报
回复
顶顶..在线求解
kEnnponN 2016-08-03
  • 打赏
  • 举报
回复
来个人呀...

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧