<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    總結(jié)一下今天使用fileupload組件通過Servelt上傳文件出現(xiàn)的幾個小問題

    這段時間由于要要成一個項(xiàng)目中的一個小功能,使用到文件的上傳和下載,以前學(xué)習(xí)過一點(diǎn),不過沒有深入學(xué)習(xí),今天看了“風(fēng)中葉”張龍老師講解的通過Servletb上傳文件,跟著他將的內(nèi)容,回顧手敲了那些代碼,不過出現(xiàn)了幾個小問題;
    1、把上傳的文件寫入到指定目錄的時候,出現(xiàn)了磁盤拒絕訪問的問題。
          解決:根據(jù)mark的回復(fù),試了下,分析出現(xiàn)的原因:
                    item.write(new File(path));                 //原來只寫入到目錄,沒有指定寫入的是哪個文件
                    item.write(new File(path,fileName));     //修改后,指定寫入的是fileName這個文件
     
    2、上傳文件出現(xiàn)中文亂碼的問題:
          由于jsp文件默認(rèn)的編碼是UTF-8,所以上產(chǎn)出現(xiàn)中文名稱的文件時,會出現(xiàn)中文亂碼。
          這個問題在網(wǎng)上找到解決的途徑:http://m.tkk7.com/duduli/archive/2008/11/11/239845.html
        解決思路:
              ServletFileUpload upload = new ServletFileUpload(factory);
              upload.setHeaderEncoding("UTF-8");
         只需要通過ServeltFileUpload指定編碼即可
     
    3、關(guān)于“Apache FileUpload文件上傳組件API解析”可以在這里查看到:http://ajava.org/blog-273-584.html
          FileUpload 相關(guān)的 API詳解。
     
    以下是今天寫的Servelt類,完成的功能:文件上傳
    package com.way.fileupload.servlet;
    import java.io.File;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    import javax.servlet.ServletException;
    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.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    public class FileUploadServelt extends HttpServlet {
            public void doGet(HttpServletRequest request, HttpServletResponse response)
                            throws ServletException, IOException {
                   
                    this.doPost(request, response);
            }
           
            public void doPost(HttpServletRequest request, HttpServletResponse response)
                            throws ServletException, IOException {
                           
                            DiskFileItemFactory factory = new DiskFileItemFactory();
                           
                            //String path = request.getRealPath("/UploadFiles");
                            String path = "D:" + File.separator+ "upload" + File.separator;
                           
                            factory.setSizeThreshold(1024*1024);
                           
                            ServletFileUpload upload = new ServletFileUpload(factory);
                            upload.setHeaderEncoding("UTF-8");
                            try {
                                    List<FileItem> list = upload.parseRequest(request);
                                   
                                    for(FileItem item : list){
                                           
                                            String name = item.getFieldName();
                                           
                                            if(item.isFormField()){
                                                   
                                                    String value = item.getString("UTF-8");
                                                   
                                                    ///System.out.println("name:" + name + "  value:" + value);
                                                   
                                                    request.setAttribute(name, value);
                                            }else{
                                                   
                                                    String value = item.getName();
                                                   
                                                    int start = value.lastIndexOf("\\");
                                                   
                                                    String fileName = value.substring(start + 1);
                                                    //String fileName = new String(file.getBytes("ISO-8859-1"),"UTF-8");
                                                    request.setAttribute(name, fileName);
                                                    //StringBuffer sb = new StringBuffer();
                                                    //sb.append(path);
                                                    //sb.append(fileName);
                                                    item.write(new File(path,fileName));
                                            }
                                    }
                            } catch (Exception e) {
                                    e.printStackTrace();
                            }
                           
                            request.getRequestDispatcher("filetbUploadSuccess.jsp").forward(request, response);
            }
           
    }

    posted on 2012-06-28 13:24 chen11-1 閱讀(1191) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩免费视频一区| 最新中文字幕免费视频| 黄页网址在线免费观看| 三上悠亚电影全集免费 | 国产一区二区三区在线免费 | 久久久国产精品福利免费| 国产大片线上免费观看| 亚洲伊人成无码综合网| 无码AV动漫精品一区二区免费| 国产在线a不卡免费视频| 亚洲高清在线视频| 亚洲一区二区三区高清视频| 无套内谢孕妇毛片免费看看| 免费国产一级特黄久久| 亚洲AV无码一区二区三区人| 日韩在线免费视频| 亚洲人成网站色7799| 国产成人免费一区二区三区| 午夜在线免费视频 | 国产美女在线精品免费观看| 亚洲欧洲精品成人久久曰| 免费看美女被靠到爽| 亚洲黄色中文字幕| 黄页免费的网站勿入免费直接进入| 中文字幕在线观看亚洲日韩| 国产大片免费网站不卡美女| 亚洲熟女www一区二区三区| 亚洲精品久久久www| 99亚洲乱人伦aⅴ精品| 亚洲日本中文字幕一区二区三区| 免费无码黄网站在线看| 亚洲制服丝袜一区二区三区| 国产美女被遭强高潮免费网站 | 久久久久久AV无码免费网站 | 日韩电影免费在线观看| 国产成人综合亚洲AV第一页| 最近免费最新高清中文字幕韩国| 亚洲人成网站18禁止| 亚洲大尺度无码专区尤物| 国产高潮久久免费观看| 亚洲人成无码网站久久99热国产|