当前位置:七道奇文章资讯安全技术网络技术
日期:2009-11-03 08:06:00  来源:本站整理

从SmartUpload到FileUpload的无缝转移[网络技术]

赞助商链接



  本文“从SmartUpload到FileUpload的无缝转移[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在改正项目时,发现从前的jsp项目,附件上传用的是SmartUpload,系统中多处都用的是这这种方法上传,这种上传附件的机制大小只能传十兆左右,
  而客户目前要求,至少50M,所以原有的SmartUpload不能满意需求,所以打算用Fileupload来实现附件上传功效.但假如换FileUpload,则系统代码窜改量很大,大约有50于处地方都需求改正,遂放弃,直接改正代码的设法.

  于是,看了一些代码后,自己写了一个从SmartUload到FileUpload转接的中间件程序,可实现不用改正原有SmartUpload上传的代码.

  原上传的主要代码见下面:

  Java代码

SmartUpload objUpload = new SmartUpload(pageContext);  
///主要代码  
if(objUpload.getCount()>0)  
      {  
        for(int i=1;i<=objUpload.getCount();i++){  
          ps.setString(9,objUpload.getUgetContentType(i));  
          ps.setString(10,objUpload.getUFileName(i));  
          ps.setBinaryStream(11,objUpload.getUFileInputStream(i),  objUpload.getFLength(i));//Content  
        }  
      }  

  我写的中间件类,类名也叫SmartUpload,但用的是Fileupload上传的机制:

  Java代码


package gui;  
import java.io.*;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.util.*;  
import javax.servlet.ServletConfig;  
import javax.servlet.ServletContext;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import javax.servlet.http.HttpSession;  
import javax.servlet.jsp.JspWriter;  
import javax.servlet.jsp.PageContext;  
import org.apache.commons.fileupload.*;  
import org.apache.commons.fileupload.servlet.*;  
import org.apache.commons.fileupload.disk.*;  
  
  
// Referenced classes of package gui:  
// SmartFiles, SmartRequest, SmartUploadException, SmartFile  
  
public class SmartUpload  
{  
  
    
   protected Hashtable parameters;//保存普通form表单域  
   protected Hashtable files;//保存上传的文件    
   private int sizeThreshold = 4096;  
   public int maxflag=0;  
  private long filemaxsize=100*1024*1024;  //默许100MB   
  protected HttpServletRequest m_request;  
  protected HttpServletResponse m_response;  
  protected ServletContext m_application;  
  private PageContext page;  
  private String pencoding;  
    
  public SmartUpload()  
  {  
  } 
     //构造办法 参数一 pagecontex 参数二 普通为GBK 参数三 上传的最大文件 单位MB  
  public SmartUpload(PageContext pagecontext,String encoding,long filesize)  
  throws ServletException, IOException,FileUploadException  
  {  
    page=null;  
   page=pagecontext;  
   m_request=(HttpServletRequest)page.getRequest();  
   m_response=(HttpServletResponse)page.getResponse();  
   if(encoding==null||"".equals(encoding)) encoding="GBK";  
   this.pencoding=encoding;     
   if(filesize<3) filesize=100;  
   System.out.println("fileupload版本号:sun2009101303. 最大上传:"+filesize+"Mb");  
   this.filemaxsize=filesize*1024*1024;     
   pagei

nit(m_request);   
      
  }   
// 构造办法 参数一 pagecontex 参数二 上传的最大文件 单位MB  
  public SmartUpload(PageContext pagecontext,long filesize)  
  throws ServletException, IOException,FileUploadException  
  {  
  this(pagecontext,"GBK",filesize);  
  }  
    
// 构造办法 参数一 pagecontex 参数二  编码格局  
  public SmartUpload(PageContext pagecontext,String encode)  
  throws ServletException, IOException,FileUploadException  
  {  
  this(pagecontext,encode,100);  
  }    
    
// 构造办法 参数一 pagecontex 默许GBK 默许大小100MB   
  public SmartUpload(PageContext pagecontext)  
     throws ServletException, IOException,FileUploadException  
  {  
    this(pagecontext,"GBK",100);  
  }   

[1] [2] [3]  下一页


  以上是“从SmartUpload到FileUpload的无缝转移[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 从SmartUpload到FileUpload的无缝转移
  • 从SmartUpload到FileUpload的无缝转移
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .