技术开发 频道

Flex 2.0 从零开始实现文件上传

6. 编写上传servlet myUpload.java 代码如下(上传文件存放路径为:d:upload):
 

package com.fileupload;
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
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 myUpload extends HttpServlet {

private String uploadPath = "D:\\upload\\";
private int maxPostSize = 100 * 1024 * 1024;

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
res.setContentType("text/html; charset=UTF-8");

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);

ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(maxPostSize);
try {
List fileItems = upload.parseRequest(req);
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (!item.isFormField()) {
String name = item.getName();
try {
item.write(new File(uploadPath + name));
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}

}
}

存放在../src/com/fileupload

7. 在web.xml中加入如下代码。(用于调用servlet)
 

<servlet>

<servlet-name>myUpload</servlet-name>

<display-name>File Upload Servlet</display-name>

<description>File Servlet Example</description>

<servlet-class>com.fileupload.myUpload</servlet-class>

</servlet>
<servlet-mapping>

<servlet-name>myUpload</servlet-name>

<url-pattern>/myUpload</url-pattern>

</servlet-mapping>

 

0
相关文章