Flex和Servlet结合上传文件(一)

2014-11-23 22:32:15 · 作者: · 浏览: 0

Flex和Servlet结合上传文件


1、准备工作

(1)下载文件上传的组件,commons-fileupload-1.3.1.jar

(2)下载文件输入输出jar,commons-io-2.4.jar

(3)有关servlet的jar包,servlet-api.jar


2、正式开发

(1)新建一个web项目工程,FlexFileUpload

(2)在src新建一个上传文件的servlet

FlexFileUploadServlet.java:

package com.you.upload.servlet;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
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.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class FlexFileUploadServlet extends HttpServlet 
{
	/**
	 * @Fields serialVersionUID:序列化
	 */
	private static final long serialVersionUID = -6839362803884547766L;

	/**
	 * Constructor of the object.
	 */
	public FlexFileUploadServlet() 
	{
		super();
	}

	/**
	 * Destruction of the servlet. 
*/ public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } /** * The doGet method of the servlet.
* * This method is called when a form has its tag value method equals to get. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doGet(request, response); doPost(request, response); } /** * The doPost method of the servlet.
* * This method is called when a form has its tag value method equals to * post. * * @param request * the request send by the client to the server * @param response * the response send by the server to the client * @throws ServletException * if an error occurred * @throws IOException * if an error occurred */ @SuppressWarnings("rawtypes") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /** * 防止中文乱码 */ response.setContentType("text/html;charset=gb2312"); /** * 设置编码格式 */ response.setCharacterEncoding("utf-8"); /** * 创建一个工厂类 */ FileItemFactory factory = new DiskFileItemFactory(); /** * 上传对象 */ ServletFileUpload upload = new ServletFileUpload(factory); try { List items = upload.parseRequest(request); Iterator it = items.iterator(); while (it.hasNext()) { FileItem item = (FileItem) it.next(); /** * 判断是表单域 */ if (item.isFormField()) { System.out.println("一个表单域"); } else { /** * 处理文件上传 */ System.out.println("不是一个表单域"); String fileName = item.getName(); byte[] data = item.get(); /** * 获取文件上传路径 */ String file = getServletConfig().getInitParameter("file"); String fileFolderName = getServletContext().getRealPath