SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

JAVA Servlet、JSP 基礎編16 - ファイルアップロード、commons-fileupload

■ファイルアップロード

  実は、私はフリーのとても使いやすいファイルアップロード jar を使用して
  いるのだけど、commons-fileupload も試してみた。
  commons-beanutils.jar に依存しているので注意である。
  また、upload_????????.tmp というワークが item.delete(); しても残って
  しまう。(Tomcat を終了すると消えるようではある。)
  試した感じではかなり使い勝手は悪く感じる。(^^;

  commons-fileupload-1.0-beta-1.jar
  commons-beanutils.jar

/*
========================================================================
  uoload.java  ファイルアップロード
========================================================================
*/
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;

public class upload extends HttpServlet {

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
    String path = getServletContext().getRealPath("/jsp/") + "/";
    String fnm = "test.txt";

    // レスポンス準備
    response.setContentType("text/html; charset=MS932");
    PrintWriter out = response.getWriter();

    // HTML ヘッド出力
    out.println("<HTML>");
    out.println("<HEAD>");
    out.println("<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
    out.println("<TITLE>ファイルアップロード</TITLE>");
    out.println("</HEAD>");
    out.println("<BODY>");

    // ファイルアップロード
    try {
      FileUpload fup = new FileUpload();
      fup.setSizeMax(10000000);
      fup.setSizeThreshold(4096);
      fup.setRepositoryPath(path);
      List items = fup.parseRequest(request);
      Iterator iter = items.iterator();
      while (iter.hasNext()) {
        FileItem item = (FileItem)iter.next();
        out.println(item.getFieldName() + "<br>");
        if (item.isFormField()) {
          out.println(item.getString() + "<br>");
        } else {
          out.println("<br>ファイル<br>" + item.getName() + "<br>");
          item.write(path + fnm);
          item.delete(); // 一時ファイル削除
        }
      }
    } catch (Exception e) {
      out.println("エラー " + e.toString());
      return;
    }
    out.println("<P>処理終了</P>");

    // HTML テイル出力
    out.println("</BODY>");
    out.println("</HTML>");
  }
}

■JAVA Servlet、JSP 基礎編資料
■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK