您的位置:首页 > 编程语言

服务端Servlet实现文件上传的示例代码

2016-03-17 12:59 691 查看
示例代码使用了两个开源框架:commons-io.jar和commons-fileupload.jar

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart) {
String dirPath = request.getSession().getServletContext().getRealPath("/files");
System.out.println(dirPath);

File dir = new File(dirPath);
if(!dir.exists()) {
dir.mkdirs();
}

FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upLoad = new ServletFileUpload(factory);

try {
List<FileItem> items = upLoad.parseRequest(request);
for(FileItem item: items) {
if(item.isFormField()) {
String name = item.getFieldName();// 得到请求参数的名称
String value = item.getString();// 得到请求参数的内容
System.out.println("name : "+name+"\tvalue : "+value);
} else {
// 获得文件名称。这里加上系统时间是为了可以多次上传同一张图片
String fileName = System.currentTimeMillis()+item.getName();
item.write(new File(dir, fileName));
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
doGet(request, response);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: