可可果

哈利是一只有白点的黑狗

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 1//引入这两个包,该例子适用于turbine框架下http形式上传
 2import org.apache.commons.fileupload.DiskFileUpload;
 3import org.apache.commons.fileupload.FileItem;
 4
 5import java.io.File;
 6import java.util.List;
 7
 8import javax.servlet.http.HttpServletRequest;
 9import org.apache.turbine.util.RunData;
10import org.apache.velocity.context.Context;
11
12import com.hc360.b2b.netWorker.ParamUtils;
13import com.hc360.web3ms.business.util.BusinessFactory;
14
15
16
17public void doPerform(RunData runData, Context context) throws Exception {
18    HttpServletRequest request = runData.getRequest();
19    DiskFileUpload diskFileUpload = new DiskFileUpload();
20    // 允许文件最大长度,设置上传文件最大为 100M
21    diskFileUpload.setSizeMax(100 * 1024 * 1024);
22    // 设置内存缓冲大小
23    diskFileUpload.setSizeThreshold(4096);
24    // 设置临时目录,该目录是上传数据流超过上面内存定义的大小的流存放在下面的路径上
25    diskFileUpload.setRepositoryPath(request.getRealPath("/")+"ExcelUpLoadTemp");
26    FileItem fileItem = runData.getParameters().getFileItem("fileName");//针对Turbine框架定义数据流
27    //如果没有数据流存在
28    if (fileItem.isFormField()) {
29    }
 else {
30        // 当前是一个上传的文件
31        fileItem.write(new File(request.getRealPath("/")+"ExcelUpLoadTemp/1.xls"));//指定数据流存放位置其中request.getRealPath("/")是web根目录
32    }

33}

注意,在前台HTML页面中一定要有<form id="grouptradepp_manage" method="post" action="" name="grouptradepp_manage" enctype="multipart/form-data">
而且必须要有file控件,
注意:通过二进制流的格式提交表单的时候,在Turbine框架中必须要用RunData形式获得参数,而不是requset形式,如:ParamUtils.getParameter(runData,"groupId")
posted on 2008-02-22 09:28  可可果  阅读(1526)  评论(1编辑  收藏  举报