您的位置:首页 > 运维架构 > Apache

使用Apache Commons FileUpload进行文件上传

2010-08-23 01:03 381 查看
upload2.jsp

<%@ page language="java" contentType="text/html; charset=GBK"

pageEncoding="GBK"%>

username:

password:

file1:

file2:

UploadServlet.java

package com.test.servlet;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

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.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class UploadServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

DiskFileItemFactory factory = new DiskFileItemFactory();

String path = request.getRealPath("/");

factory.setRepository(new File(path));

factory.setSizeThreshold(1024 * 1024);

ServletFileUpload upload = new ServletFileUpload(factory);

try {

List list = upload.parseRequest(request);

for (FileItem item : list) {

if (item.isFormField()) {

String name = item.getFieldName();

String value = item.getString("gbk");

request.setAttribute(name, value);

} else {

String name = item.getFieldName();

String value = item.getName();

int start = value.lastIndexOf("\\");

String fileName = value.substring(start + 1);

request.setAttribute(name, fileName);

OutputStream os = new FileOutputStream(new File(path, fileName));

InputStream is = item.getInputStream();

byte[] buffer = new byte[1024];

int length = 0;

while ((length = is.read(buffer)) > 0) {

os.write(buffer, 0, length);

}

os.close();

is.close();

}

}

} catch (FileUploadException e) {

e.printStackTrace();

}

request.getRequestDispatcher("/upload/result2.jsp").forward(request, response);

}

}

result2.jsp

<%@ page language="java" import="java.io.*"

contentType="text/html; charset=GBK" pageEncoding="GBK"%>

username:${username }

password:${password }

file1:${file1 }

file2:${file2 }

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
UploadServlet

com.test.servlet.UploadServlet

UploadServlet

/UploadServlet
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: