下面是我的源码部分,谢谢大家阿:
package com.chinaclick.yummy.email.action;import java.io.File;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* @author yummy
*
*/
public class FileUploadAction extends Action {


public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response )
{    ActionForward forward=null;
   try
   {
    System.out.println("start");
    ServletContext context = request.getSession().getServletContext() ;
String realPath = context.getRealPath("/");
    String saveDir = realPath + "fileupload\\upload\\";
    DiskFileUpload upload=new DiskFileUpload();
    upload.setSizeMax( 100*1024*1024 );//设置文件的最大值
    upload.setHeaderEncoding("gbk");//字符编码
    File dir = new File(saveDir);
    if (!dir.exists())
dir.mkdirs();
    List uploadlist=upload.parseRequest(request);
    
//    System.out.println("list is "+uploadlist);
    Iterator iter=uploadlist.iterator();
    while(iter.hasNext())
    {
     FileItem item=(FileItem)iter.next();
     if(!item.isFormField())
     {
      String filename=item.getName();
      System.out.println("filename"+filename);
      //filename=FileNameUtils.getName(filename);
      if(!filename.equals(""))
      {
       System.out.println("start"+filename);
       //String savepath="D:\\temp\\"+filename;
       String savepath = saveDir+filename;
       System.out.println("savepath is "+savepath);
       File saveFilepath=new File(savepath);
            item.write(saveFilepath);
       forward=mapping.findForward("success");
      }else
       forward=mapping.findForward("error");
     
     }
    } 
   
   }catch(Exception ex)
   {
    ex.printStackTrace();
    System.out.println("程序发生错误,抛出异常为 "+ex.getMessage());
   }
  
   return forward;
}
}如果能实现,会有什么样的漏洞,或者会产生什么结果,我本机的开发工具能实现文件上传,但是能不能放在外网上去,实现大文件上传,一般大文件上传都是用的插件还有其他什么形式的呢?
 有没有源码参考下呢,插件的,或者是ftp嵌入式的javaweb的源码,能实现上传的源码,谢谢阿!
msn:[email protected]
163:[email protected]