墨竹小院
代码改变世界

Jsp文件上传组件------实例

2011-07-10 23:00  MzXy  阅读(318)  评论(0)    收藏  举报

Jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<html>
<head>
<title>Cos组件文件上传</title>
</head>
<body>
<form action="servlet/Java" method="post"
enctype
="multipart/form-data ">
<input type="file" name="file">
<br>
<input type="submit" value="上传">

</form>
</body>
</html>

Servlet源代码

package com.mzxy.diz;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.oreilly.servlet.MultipartRequest;

public class Java extends HttpServlet {

public Java() {
super();
}

public void destroy() {
super.destroy();
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType(
"text/html");
PrintWriter out
= response.getWriter();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setCharacterEncoding(
"gbk");
PrintWriter out
= response.getWriter();
String fileDirectory
= "F://www";// 文件上传后的保存路径
/**
* 如果文件上传保存路径不存在则创建
*
*/
File file1
= new File(fileDirectory);
if (!file1.exists()) {
file1.mkdir();
}
int fixMax = 200 * 1024 * 1024;// 最大允许上传的文件大小以M为单位,默认为200M
MultipartRequest multi = new MultipartRequest(request, fileDirectory,
fixMax,
"gbk");
Enumeration enums
= multi.getFileNames();
while (enums.hasMoreElements()) {
String fileName
= (String) enums.nextElement();
File file
= multi.getFile(fileName);
if (file != null) {
String name
= multi.getFilesystemName(fileName);
String lastName
= fileDirectory + "//" + name;
out.print(
"文件已成功上传到:" + lastName);
}
}

}

public void init() throws ServletException {

}

}