真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

J2EE如何實現(xiàn)Servlet上傳文件到服務(wù)器并相應(yīng)顯示功能

這篇文章將為大家詳細講解有關(guān)J2EE如何實現(xiàn)Servlet上傳文件到服務(wù)器并相應(yīng)顯示功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供南漳網(wǎng)站建設(shè)、南漳做網(wǎng)站、南漳網(wǎng)站設(shè)計、南漳網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、南漳企業(yè)網(wǎng)站模板建站服務(wù),十年南漳做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

編輯上傳文件的頁面upload.html

注意事項:上傳方式使用POST不能使用GET(GET不能上傳文件)

表單 enctype 屬性應(yīng)該設(shè)置為 multipart/form-data.(表示提交的數(shù)據(jù)是二進制文件)

upload.html





文件上傳


  
    人物名稱:
    上傳頭像:
       

UPloadPtotoServlet文件上傳類--上傳功能的開發(fā)

將commons-io-1.4.jar和commons-fileupload-1.2.2.jar 兩個jar包放到WEB-INF/lib 目錄下。

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
 * Servlet implementation class UploadPhotoServlet
 */
@WebServlet("/UploadPhotoServlet")
public class UploadPhotoServlet extends HttpServlet {
  private static final long serialVersionUID = 1L;
  /**
   * @see HttpServlet#HttpServlet()
   */
  public UploadPhotoServlet() {
    super();
    // TODO Auto-generated constructor stub
  }
  /**
   * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
//    response.getWriter().append("Served at: ").append(request.getContextPath());
    String filename=null;
    DiskFileItemFactory factory=new DiskFileItemFactory();  //磁盤文件條目工廠
    ServletFileUpload upload=new ServletFileUpload(factory); //負責處理上傳的文件數(shù)據(jù),并將表單中每個輸入項封裝成一個fileitem對象中
    //設(shè)置上傳文件的大小為10M
    factory.setSizeThreshold(2*1024*1024);
    List items=null;
    try {
      //parse 解析
      items=upload.parseRequest(request);  //得到一個保存了所有上傳內(nèi)容的List對象
    } catch (FileUploadException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    Iterator iter=items.iterator();  //迭代上傳的文件數(shù)據(jù)
    while(iter.hasNext()){
      FileItem item=(FileItem) iter.next();
      if(!item.isFormField()){ //如果不是上傳的
        //根據(jù)時間戳創(chuàng)建頭像文件
        filename=System.currentTimeMillis()+".jpg";
        //通過getrealpath獲取上傳文件夾,如果項目存在將存在當前項目下 不存在的話創(chuàng)建項目文件夾
        //圖片文件夾
        String photoFolder=request.getServletContext().getRealPath("uploaded");
        File f=new File(photoFolder,filename);
        f.getParentFile().mkdirs(); //如果父文件夾不存在則自動創(chuàng)建
        //通過item.getInputStream() 獲取瀏覽器上傳的文件
        InputStream is = item.getInputStream();  //將文件讀進來
        //復(fù)制文件
        FileOutputStream fos=new FileOutputStream(f); //往界面上顯示
        byte[] b=new byte[2*1024*1024];
        int len=0;
        while((len=is.read(b))!=-1){
          fos.write(b, 0, len);
        }
        fos.close();
      }else{
        System.out.println(item.getFieldName());//heroName
        String value=item.getString();  
        value=new String(value.getBytes("ISO-8859-1"), "UTF-8");
        System.out.println(value);  //桑葚
      }
    }
    String html="";
    response.setContentType("text/html");
    PrintWriter pw=response.getWriter();
    pw.format(html, filename);
  }
  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doGet(request, response);
  }
}

運行結(jié)果:

J2EE如何實現(xiàn)Servlet上傳文件到服務(wù)器并相應(yīng)顯示功能

關(guān)于“J2EE如何實現(xiàn)Servlet上傳文件到服務(wù)器并相應(yīng)顯示功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


文章名稱:J2EE如何實現(xiàn)Servlet上傳文件到服務(wù)器并相應(yīng)顯示功能
轉(zhuǎn)載來源:http://weahome.cn/article/gjsddg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部