file¾÷·Îµå¿¡¼­´Â getParameter·Î ¾ÈµË´Ï´Ù.


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :ÀÓäȯ 1999³â 4¿ù 15ÀÏ 18:47:45

In Reply to: [Áú¹®]ÆÄÀÏ ¾÷·Îµå Ŭ·¡½º¿¡¼­ »ç¿ë(Á¦¹ß »ì·ÁÁà¿ä !!!!!!!!!!!!) posted by ±è¹ü¼ö on 1999³â 4¿ù 06ÀÏ 20:37:49:

ÆÄÀϾ÷·Îµå´Â FORM¹®¿¡¼­ ENCTYPEÀ» "multipart/form-data"·Î ÇÕ´Ï´Ù.
±×·±µ¥ ÆÄÀÏÀÌ¿ÜÀÇ Áï, À̸§, Á¦¸ñ, ³»¿ë µîµîÀÇ °ªÀ» ¹Þ°íÀÚ ÇÒ¶§´Â getParameter()·Î´Â ¾ÈµË´Ï´Ù.
filenameÃßÃâÇÏ´Â °ÍÀ» ÀÀ¿ëÇؼ­ ¹ÞÀ¸¼Å¾ß ÇÕ´Ï´Ù.

´ÙÀ½Àº ÆÄÀϾ÷·Îµå±â´É¸¸ ÀÖ´Â ±è´öż±»ý´ÔÀÇ ¼Ò½º¸¦ ¾à°£¼öÁ¤ÇÑ °ÍÀÔ´Ï´Ù.

¿©±â¿¡¼­´Â ÆÄÀÏ µî·ÏÀÚ¿Í ÆÄÀϸ¸ ¹Þ´Â °ÍÀ¸·Î Çß½À´Ï´Ù.

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class FileUploadServlet extends HttpServlet
{
public void doGet( HttpServletRequest req, HttpServletResponse res )
throws ServletException, IOException
{
res.setContentType("text/html; charset=euc-kr");

PrintWriter out = new PrintWriter(new OutputStreamWriter(res.getOutputStream()));
out.println("<p>"+req.getServletPath()+"</p>");
out.println("<FORM ACTION=\""+req.getServletPath()+"\" METHOD=POST ENCTYPE=\"multipart/form-data\">");
out.println("What is your name? <INPUT TYPE=TEXT NAME=sender > <BR>");
out.println(" Which file to upload? <INPUT TYPE=FILE NAME=file_upload> <BR>");
out.println("<INPUT TYPE=SUBMIT> </FORM>");
out.flush();
out.close();
}

public void doPost(HttpServletRequest req,HttpServletResponse res)
throws ServletException, IOException
{
ServletInputStream fromClient = req.getInputStream();
res.setContentType("text/html; charset=euc-kr");
PrintWriter toClient=new PrintWriter(new OutputStreamWriter(res.getOutputStream(),"KSC5601"));

String name;
String filename = null;
String contentType = null;
File file=null;
FileOutputStream toFile = null;

try
{
int ind = req.getContentType().indexOf("boundary=");
if (ind == -1)
throw new IOException();
String boundary = req.getContentType().substring(ind+9);
if (boundary == null)
throw new IOException();

String endBoundary = "--" + boundary + "--";

String line;
String lowerLine;
byte[] lineBuf = new byte[1024*8];
int lineLen;

// -------- name ÀÎÀÚ¿Í °ª ÃßÃâ
// ¹Ù¿î´õ¸® Ç¥½Ä Á¦°Å
fromClient.readLine(lineBuf, 0, lineBuf.length);

// Content-Disposition Çì´õ ó¸®
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
line = new String(lineBuf, 0, lineLen);
lowerLine = line.toLowerCase();
ind = lowerLine.indexOf("content-disposition:") + 20;
ind = lowerLine.indexOf("form-data;", ind) + 10;
int nameStart = lowerLine.indexOf("name=\"", ind) + 6;
int nameEnd = lowerLine.indexOf("\"", nameStart);
if ( nameStart == -1 || nameEnd == -1 )
throw new IOException();
name = line.substring(nameStart, nameEnd);

// °ø¹é¶óÀÎ Á¦°Å
fromClient.readLine(lineBuf, 0, lineBuf.length);

// ½ÇÁ¦ °ª Àбâ
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length); // ¶óÀÎÀÇ ±æÀÌ
line = new String(lineBuf, 0, lineLen); // ½ºÆ®¸µÀ¸·Î Àбâ
lowerLine = line.toLowerCase();
String name_value=lowerLine.trim();
//--------------- name ̧̉ End

//------------------file name°ú ³»¿ë ÃßÃâ
// ¹Ù¿î´õ¸® Ç¥½Ä Á¦°Å
fromClient.readLine(lineBuf, 0, lineBuf.length);

// Content-Disposition Çì´õ ó¸®
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
line = new String(lineBuf, 0, lineLen);
lowerLine = line.toLowerCase();
ind = lowerLine.indexOf("content-disposition:") + 20;
ind = lowerLine.indexOf("form-data;", ind) + 10;
nameStart = lowerLine.indexOf("name=\"", ind) + 6;
nameEnd = lowerLine.indexOf("\"", nameStart);
if ( nameStart == -1 || nameEnd == -1 )
throw new IOException();
String file_upload = line.substring(nameStart, nameEnd);

int filenameStart = lowerLine.indexOf("filename=\"", ind) + 10;
int filenameEnd = lowerLine.indexOf("\"", filenameStart);
if ( filenameStart != -1 && filenameEnd != -1 )
filename = line.substring(filenameStart, filenameEnd);

// Content-Type Çì´õ°¡ ÀÖÀ¸¸é ó¸®ÇÑ ÈÄ, ºí·©Å© ¶óÀÎÀ» ÀоîµéÀδÙ.
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
line = new String(lineBuf, 0, lineLen);
lowerLine = line.toLowerCase();
if (lowerLine.startsWith("content-type:"))
{
contentType = line.substring(13).trim();
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
line = new String(lineBuf, 0, lineLen);
}

if ( ! line.equals("\r\n") )
throw new IOException();

// µ¥ÀÌŸ¸¦ Àоîµé¿©¼­ È­ÀÏ¿¡ ÀúÀåÇÑ´Ù.
int start = filename.lastIndexOf('\\');
// file = new File("/databank",filename.substring(start+1));
// toClient.println("file : "+filename.substring(start+1));
toFile = new FileOutputStream("c:\\temp\\"+filename.substring(start+1));
byte[] lineBuf2 = new byte[1024*8];
int lineLen2 = 0;
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
if (lineLen == -1)
throw new IOException();

line = new String(lineBuf2, 0, lineLen2, "iso-8859-1");
while (! line.startsWith(endBoundary))
{
toFile.write(lineBuf2, 0, lineLen2);
System.arraycopy(lineBuf, 0, lineBuf2, 0, lineLen);
lineLen2 = lineLen;
lineLen = fromClient.readLine(lineBuf, 0, lineBuf.length);
if (lineLen == -1)
throw new IOException();
line = new String(lineBuf, 0, lineLen, "iso-8859-1");
}
if ( lineLen2 >= 2)
toFile.write(lineBuf2, 0, lineLen2-2);
toFile.close();
//---------------- filename°ú ³»¿ë ÃßÃâ

// À¥ ¹®¼­ »ý¼º
toClient.println("<html><head><title>È­ÀÏ ¾÷·Îµå °á°ú"
+ "</title></head>");
toClient.println("<body>´ÙÀ½ È­ÀÏÀÌ ¾÷·ÎµåµÇ¾ú½À´Ï´Ù.");
toClient.println("<br><b>name: " + name + "<br>");
toClient.println("<br><b>name_value: " + name_value + "<br>");
toClient.println("<br><b>file: " + file_upload + "<br>");
toClient.println("<b>filename: " + filename + "<br>");
toClient.println("Content-Type: " + contentType + "<br>");
toClient.println("</body></html>");
} catch( IOException e )
{
toClient.println("<html><head><title>È­ÀÏ ¾÷·Îµå ¿À·ù"
+ "</title></head><body>");
toClient.println("¹®Á¦°¡ ¹ß»ýÇÏ¿´½À´Ï´Ù.");
toClient.println("´Ù½Ã ¾÷·ÎµåÇϽñ⠹ٶø´Ï´Ù.");
toClient.println("</body></html>");
e.printStackTrace();
} finally
{
toClient.flush();
toFile.close();
toClient.close();
}
}
}



´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
HTML ÅÂ±× Æ÷ÇÔ ¿©ºÎ: HTML ¹®¼­ÀÏ °æ¿ì üũ
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]