来声明一个文件域。File:_____〈浏览〉.2:必须要使用post方式的表单。3:必须设置表单的类型为multipart/form-data.是"> 来声明一个文件域。File:_____〈浏览〉.2:必须要使用post方式的表单。3:必须设置表单的类型为multipart/form-data.是" />
欢迎来到天天文库
浏览记录
ID:62033586
大小:88.50 KB
页数:9页
时间:2021-04-15
《java实现文件的上传.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、java实现文件的上传1、文件上传的核心点ﻩ1:用〈input type=”file"/> 来声明一个文件域。File:_____〈浏览〉.2:必须要使用post方式的表单。3:必须设置表单的类型为multipart/form-data.是设置这个表单传递的不是key=value值。传递的是字节码。对于一个普通的表单来说只要它是post类型。默认就是Content—type:application/x—www-from—urlencoded表现形式ﻩ1:在request的请求头中出现。2:在for
2、m声明时设置一个类型enctype=”application/x-www-form-urlencoded";如果要实现文件上传,必须设置enctype=“multipart/form-data”设置表单类型。表单与请求的对应关系:2、如何获取上传的文件的内容-以下是自己手工解析txt文档package cn.itcast。servlet;importjava。io.BufferedReader;importjava.io.IOException;import java.io。InputStream
3、;importjava。io。InputStreamReader;importjava.io。PrintWriter;importjavax。servlet.ServletException;importjavax。servlet.http.HttpServlet;import javax.servlet.http。HttpServletRequest;importjavax。servlet。http.HttpServletResponse;/*** 如果一个表单的类型是post且enctype为
4、multipart/form—date * 则所有数据都是以二进制的方式向服务器上传递。*所以req.getParameter(”xxx”)永远为null.一定要注意。 *只可以通过req.getInputStream()来获取数据,获取正文的数据**@author wangjianme * */publicclass UpServletextendsHttpServlet{ﻩpublicvoiddoPost(HttpServletRequestreq,HttpServletResponse re
5、sp)ﻩthrowsServletException,IOException {ﻩreq.setCharacterEncoding("UTF-8”);ﻩStringtxt =req。getParameter("txt");//返回的是nullSystem。err。println(”txtis:"+txt);ﻩﻩSystem.err.println("=========================================");ﻩInputStream in= req。getInputSt
6、ream();//byte[]b= new byte[1024];//ﻩﻩintlen =0;//while((len=in。read(b))!=-1){//String s =newString(b,0,len);//ﻩSystem.err.print(s);//}ﻩﻩBufferedReader br= newBufferedReader(newInputStreamReader(in));ﻩﻩStringfirstLine=br。readLine();读取分隔行。//读取第一行,且第一行是分
7、隔符号StringfileName= br.readLine();获取文件名。ﻩfileName =fileName.substring(fileName.lastIndexOf("\”)+1);// bafasd.txt”ﻩﻩfileName=fileName.substring(0,fileName.length()-1);ﻩﻩﻩbr.readLine();ﻩbr。readLine();ﻩﻩStringdata=null;ﻩﻩ//获取当前项目的运行路径StringprojectPath=ge
8、tServletContext().getRealPath(”/up”);获取项目的路径。PrintWriterout =newPrintWriter(projectPath+”/"+fileName);ﻩwhile((data=br。readLine())!=null){ﻩﻩif(data.equals(firstLine+"--")){ﻩﻩﻩbreak;ﻩ}ﻩout.println(data);ﻩ}out。close();ﻩ}}3、使用apache-fileupload处理文
此文档下载收益归作者所有