本文主要是介绍commons.fileupload上传文件流(turbine框架),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//引入这两个包,该例子适用于turbine框架下http形式上传
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;import java.io.File;
import java.util.List;import javax.servlet.http.HttpServletRequest;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;import com.hc360.b2b.netWorker.ParamUtils;
import com.hc360.web3ms.business.util.BusinessFactory;public void doPerform(RunData runData, Context context) throws Exception {HttpServletRequest request = runData.getRequest();DiskFileUpload diskFileUpload = new DiskFileUpload();// 允许文件最大长度,设置上传文件最大为 100MdiskFileUpload.setSizeMax(100 * 1024 * 1024);// 设置内存缓冲大小diskFileUpload.setSizeThreshold(4096);// 设置临时目录,该目录是上传数据流超过上面内存定义的大小的流存放在下面的路径上diskFileUpload.setRepositoryPath(request.getRealPath("/")+"ExcelUpLoadTemp");FileItem fileItem = runData.getParameters().getFileItem("fileName");//针对Turbine框架定义数据流//如果没有数据流存在if (fileItem.isFormField()) {} else {// 当前是一个上传的文件fileItem.write(new File(request.getRealPath("/")+"ExcelUpLoadTemp/1.xls"));//指定数据流存放位置其中request.getRealPath("/")是web根目录}
}
注意,在前台HTML页面中一定要有<form id="grouptradepp_manage" method="post" action="" name="grouptradepp_manage" enctype="multipart/form-data">
而且必须要有file控件,
注意:通过二进制流的格式提交表单的时候,在Turbine框架中必须要用RunData形式获得参数,而不是requset形式,如:ParamUtils.getParameter(runData,"groupId")
这篇关于commons.fileupload上传文件流(turbine框架)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!