panda

          IT高薪不是夢!!

          統計

          留言簿

          閱讀排行榜

          評論排行榜

          文件上傳(FileUpload)

          1.使用JAR
          ??????jsp文件上傳主要使用了兩個jar包,commons-fileupload-1.2.1.jar和commons-io-1.4.jar
          2.代碼實現
          ???? public class UploadServlet extends HttpServlet {

          ?/**
          ? *
          ? */
          ?private static final long serialVersionUID = 1L;

          ?private ServletContext sc;

          ?private String savePath;

          ?@Override
          ?protected void doGet(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {
          ??doPost(request, response);
          ?}

          ?@Override
          ?protected void doPost(HttpServletRequest request,
          ???HttpServletResponse response) throws ServletException, IOException {

          ??System.out.println("請求進來了..........");

          ??// 設置請求的編碼
          ??request.setCharacterEncoding("UTF-8");

          ??DiskFileItemFactory factory = new DiskFileItemFactory();//創建一個磁盤文件工廠
          ??ServletFileUpload upload = new ServletFileUpload(factory);

          ??try {
          ???List items = upload.parseRequest(request);
          ???Iterator it = items.iterator();
          ???while (it.hasNext()) {
          ????FileItem item = (FileItem) it.next();

          ????if (item.isFormField()) {
          ?????System.out.println("表單的參數名稱:" + item.getFieldName()
          ???????+ ",對應的參數值:" + item.getString("UTF-8"));
          ????} else {
          ?????// 獲取文件擴展名
          ?????String strtype = item.getName().substring(
          ???????item.getName().length() - 3,
          ???????item.getName().length());
          ?????strtype = strtype.toLowerCase();

          ?????if (strtype == "jpg" || strtype == "gif"
          ???????|| strtype == "txt") {
          ??????if (item.getName() != null
          ????????&& !item.getName().equals("")) {
          ???????System.out.println("上傳文件的大小:" + item.getSize());
          ???????System.out.println("上傳文件的類型:"
          ?????????+ item.getContentType());
          ???????System.out.println("上傳文件的名稱:" + item.getName());

          ???????System.out.println("文件的擴展名" + strtype);
          ???????File tempFile = new File(item.getName());
          ???????File file = new File(
          ?????????sc.getRealPath("/") + savePath, tempFile
          ???????????.getName());
          ???????item.write(file);

          ???????request.setAttribute("upload.message", "上傳文件成功!");

          ??????} else {
          ???????request.setAttribute("upload.message",
          ?????????"沒有選擇上傳文件獲取格式不支持");
          ??????}
          ?????} else {
          ??????request.setAttribute("upload.message", "上傳文件格式不支持");
          ?????}
          ????}
          ???}
          ??} catch (Exception e) {
          ???e.printStackTrace();
          ???request.setAttribute("upload.message", "上傳文件不成功!");
          ??}
          ??// 轉發
          ??request.getRequestDispatcher("/uploadResult.jsp").forward(request,
          ????response);
          ?}

          ?@Override
          ?public void init(ServletConfig config) throws ServletException {

          ??savePath = config.getInitParameter("savePath");
          ??sc = config.getServletContext();
          ?}

          posted on 2009-11-08 16:30 IT追求者 閱讀(170) 評論(0)  編輯  收藏 所屬分類: Jsp


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


          網站導航:
           
          主站蜘蛛池模板: 九龙城区| 柘城县| 平顺县| 青岛市| 拉萨市| 武乡县| 山阴县| 西平县| 堆龙德庆县| 甘德县| 靖江市| 临清市| 云南省| 合作市| 张北县| 调兵山市| 海晏县| 宣武区| 榆社县| 沁水县| 霍林郭勒市| 昌吉市| 天峻县| 什邡市| 神农架林区| 汉源县| 鄢陵县| 洞头县| 石景山区| 大埔区| 广元市| 阿拉善盟| 鄂伦春自治旗| 和平区| 桂东县| 江达县| 定州市| 泌阳县| 三亚市| 普定县| 中西区|