資源描述:
《java實現(xiàn)文件的上傳.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、java實現(xiàn)文件的上傳1、文件上傳的核心點?1:用〈input?。魕pe=”file"/> 來聲明一個文件域。File:_____〈瀏覽〉.2:必須要使用post方式的表單。3:必須設置表單的類型為multipart/form-data.是設置這個表單傳遞的不是key=value值。傳遞的是字節(jié)碼。對于一個普通的表單來說只要它是post類型。默認就是Content—type:applicat(yī)ion/x—www-from—urlencoded表現(xiàn)形式?1:在request的請求頭中出現(xiàn)。2:在for
2、m聲明時設置一個類型enctype=”applicat(yī)ion/x-www-form-urlencoded";如果要實現(xiàn)文件上傳,必須設置enctype=“multipart/form-dat(yī)a”設置表單類型。表單與請求的對應關系:2、如何獲取上傳的文件的內(nèi)容-以下是自己手工解析txt文檔package?。鉵.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—dat(yī)e * 則所有數(shù)據(jù)都是以二進制的方式向服務器上傳遞。*所以req.getParameter(”xxx”)永遠為null.一定要注意?!?只可以通過req.getInputStream()來獲取數(shù)據(jù),獲取正文的數(shù)據(jù)**@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=?。頴w 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處理文