Servlet 中上传文件,前4个文件正确上传,后面文件上传时报目录访问拒绝
来源:互联网 发布:淘宝专享服务 编辑:程序博客网 时间:2024/05/17 06:46
上传文件代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean status = false;
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(path));
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> list = (List<FileItem>) upload.parseRequest(request);
for (FileItem item : list) {
String name = item.getFieldName();
if(item.isFormField()){
//表单普通字段信息
String value = item.getString();
System.out.println(value);
}else {
//处理图片
String value = item.getName();
//索引到最后一个反斜杠
int start = value.lastIndexOf("\\");
//截取 上传文件的 字符串名字,加1是 去掉反斜杠
String filename = value.substring(start + 1);
item.write(new File(path,filename));
item.delete();
}
}
status = true;
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
request.getRequestDispatcher("index.jsp").forward(request, response);
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean status = false;
DiskFileItemFactory factory = new DiskFileItemFactory();
//文件上传到的路径
String path = request.getServletContext().getRealPath("/upload");
factory.setRepository(new File(path));
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> list = (List<FileItem>) upload.parseRequest(request);
for (FileItem item : list) {
String name = item.getFieldName();
if(item.isFormField()){
//表单普通字段信息
String value = item.getString();
System.out.println(value);
}else {
//处理图片
String value = item.getName();
//索引到最后一个反斜杠
int start = value.lastIndexOf("\\");
//截取 上传文件的 字符串名字,加1是 去掉反斜杠
String filename = value.substring(start + 1);
item.write(new File(path,filename));
item.delete();
}
}
status = true;
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
request.getRequestDispatcher("index.jsp").forward(request, response);
}
问题发现:
以前猜测是目录被锁的原因,但实际是new File(path,filename),在new 一个新文件时,filename 是个空字符串。
所以出错。
0 0
- Servlet 中上传文件,前4个文件正确上传,后面文件上传时报目录访问拒绝
- 上传文件,报错,文件夹拒绝访问
- 文件上传拒绝访问报错
- 上传文件时IE浏览器中拒绝访问 -- 备忘
- Servlet---文件上传/打散目录/进度条
- Flex + servlet 上传文件
- JSP+servlet上传文件
- servlet文件上传
- Servlet文件上传
- Servlet上传文件
- 文件上传servlet应用
- jsp servlet文件上传
- 文件上传Servlet实例
- Servlet文件上传代码
- java servlet 文件上传
- servlet中的文件上传
- 文件上传Servlet例子
- Servlet实现文件上传
- leedcode做题总结,题目Binary Tree Postorder Traversal-------- 2013/11/07
- linux loop设备
- 线程中使用ADO 后入输入法冲突解决办法....
- Java检测无用代码之UCDetector
- java多线程Future和Callable类的解释与使用
- Servlet 中上传文件,前4个文件正确上传,后面文件上传时报目录访问拒绝
- 火车头的汽车好样的
- LeetCode OJ - Remove Element
- 2055 An easy problen
- POLL与PPOLL函数
- 三种存储类型比较-文件、块、对象存储
- Linux 初始 RAM 磁盘(initrd)概述
- MongoDB 简单介绍
- s3c2440的FCLK、HCLK、PCLK