在用Java开发企业器系统的使用,特别是涉及到与办公相关的软件开发的时候,文件的上传是客户经常要提到的要求.因此有 一套很好文件上传的解决办法也能方便大家在这一块的开发.
首先申明,该文章是为了自己记录一备以后开发需要的时候,不用手忙脚乱哈哈........
现在在国内用的非常多的一般是两种方法解决来解决文件上传.
cos.jar + uploadbean.jar + filemover.jar 这个是用的非常普遍的,原因是因为他操作方便,是我们不必再去关注,那些文件的输入和输出流,使我们从底层的流中解脱出来. UploadFile,UploadBean,MultipartFormDataRequest <%@ page contentType="text/html;charset=gb2312" %> <head> <title>fbysss UploadBean 示例</title> <!--meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"--> <!--meta http-equiv="Content-Type" content="text/html; charset=gb2312"--> </head> <FORM name="form1" METHOD="POST" ACTION="sssupload.jsp" ENCTYPE="multipart/form-data"> <input name="title" type= "text" value="中文字"> <td class="bodystyle">附件</td> <td class="bodystyle"> <input name="attach" type="FILE" id="attach" size="50" > </td> <input name="ok" type= "submit" value="提交"> </form> 2.读取表单页面sssgetdata.jsp <!-- //========================================================================== //文件:UploadBean上传实例 //功能:解决中文乱码,完成文件上传,并提供上传改名解决方案 //作者:fbysss //msn:jameslastchina@hotmail.com //========================================================================== --> <%@ page contentType="text/html;charset=GBK" %> <%@ page language="java" import="com.jspsmart.upload.*"%> <%@ page import="java.text.SimpleDateFormat"%> <%@ page import="java.io.File"%> <%@ page import="java.util.*"%> <%@ page import="javazoom.upload.*"%> <%@ page import="uploadutilities.FileMover"%> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <% request.setCharacterEncoding("GBK");//设置编码格式,就不用一个个转码了。 FileMover fileMover = new FileMover();//你也可以使用自带的实例中jsp:useBean的形式。 UploadBean upBean = new UploadBean(); MultipartFormDataRequest mrequest = null; Hashtable files = null;
if (MultipartFormDataRequest.isMultipartFormData(request)) { mrequest = new MultipartFormDataRequest(request,null,100*1024*1024,MultipartFormDataRequest.COSPARSER,"GBK");//注意这里也要设置编码参数 String sTt0 = mrequest.getParameter("title"); out.println("<br>Title0是:"+sTt0+"<br>"); String sTt1 = new String(sTt0.getBytes("ISO-8859-1"),"GBK"); out.println("<br>Title1是:"+sTt1+"<br>");
上一篇:新手指南 J2EE专家起步图解2
下一篇:用JFreeChart画统计分析柱状图
|