2011-07-26 7 views
1
<%@page import="java.sql.*" %> 
<html> 
<form method="get" action="blobexcode.jsp" onsubmit="txtvalidate()"> 
<head> 
    <style type="text/css"> 
    body{ 
     background-color:#d0e4fe; 
    } 
</style>  
</head> 

<body> 
    <table> 
     <tr> 
      <td> 
       Customer Name&nbsp;<input type="text" name="Customername" id="customername"> 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Customer Mob: <input type="text" onkeypress="return 
isNumberKey(event)" name="Customerphone" id="customerphone" > 
      </td> 
     </tr> 
     <tr> 
      <td> 
       Upload File:&nbsp;&nbsp;<input type="file" id="f" name="f" > 
      </td> 
     </tr> 
     <tr> 
      <td> 
       <input type="submit" value="SUBMIT" id="submit"> 
      </td> 
     </tr> 

    <script type="text/javascript"> 
     function isNumberKey(evt) 
     { 
      var charCode = (evt.which) ? evt.which : event.keyCode 
      if (charCode > 31 && (charCode < 48 || charCode > 57)) 
       return false; 
      else 
       return true; 
     } 
    </script> 

    <script type="text/javascript"> 
     function txtvalidate() 
     { 
      if(document.getElementById("customername").value=="" || 
       document.getElementById("customerphone").value=="") 
      { 
       alert("Fill all fields"); 
       return false; 
       document.Customername.focus(); 
      } 
      else 
       return true; 
     } 
    </script> 

    </table> 
</body> 
</form> 
</html> 
+0

우선 형식으로 코드를 업로드 파일에 도움을 다음 문서를 참조하십시오. 두 번째 '

' 태그는'' 태그가 ''및 ''태그 주변에 없습니다. –

답변

1

db에 이미지를 저장하는 방법은 다음 문서를 참조하십시오. 이 예제는 JSP를 사용하지 않는다. http://java-x.blogspot.com/2007/01/handling-oracle-large-objects-with-jdbc.html

위에서 언급 한 내용을 이해하면 commons-file upload를 사용하여 파일을 업로드하고 업로드 된 파일의 입력 스트림을 검색하여 db에 삽입 할 수있다.

http://commons.apache.org/fileupload/using.html

http://www.theserverside.com/news/1365153/HttpClient-and-FileUpload

0

작업 예

String saveFile = ""; 
String contentType = request.getContentType(); 
if ((contentType != null) 
     && (contentType.indexOf("multipart/form-data") >= 0)) { 
    DataInputStream in = new DataInputStream(
      request.getInputStream()); 
    int formDataLength = request.getContentLength(); 
    byte dataBytes[] = new byte[formDataLength]; 
    int byteRead = 0; 
    int totalBytesRead = 0; 
    while (totalBytesRead < formDataLength) { 
     byteRead = in.read(dataBytes, totalBytesRead, 
       formDataLength); 
     totalBytesRead += byteRead; 
    } 
    String file = new String(dataBytes); 
    saveFile = file.substring(file.indexOf("filename=\"") + 10); 
    saveFile = saveFile.substring(0, saveFile.indexOf("\n")); 
    saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1, 
      saveFile.indexOf("\"")); 
    int lastIndex = contentType.lastIndexOf("="); 
    String boundary = contentType.substring(lastIndex + 1, 
      contentType.length()); 
    int pos; 
    pos = file.indexOf("filename=\""); 
    pos = file.indexOf("\n", pos) + 1; 
    pos = file.indexOf("\n", pos) + 1; 
    pos = file.indexOf("\n", pos) + 1; 
    int boundaryLocation = file.indexOf(boundary, pos) - 4; 
    int startPos = ((file.substring(0, pos)).getBytes()).length; 
    int endPos = ((file.substring(0, boundaryLocation)).getBytes()).length; 
    File ff = new File(saveFile); 
    FileOutputStream fileOut = new FileOutputStream(ff); 
    fileOut.write(dataBytes, startPos, (endPos - startPos)); 
    fileOut.flush(); 
    fileOut.close(); 

    ResultSet rs = null; 
    PreparedStatement psmnt = null; 
    FileInputStream fis; 
    try { 
     Connection connection = DbConnection.getConnection(); 
     File f = new File(saveFile); 

     String idd = request.getAttribute("userid").toString(); 
     String insert = "UPDATE `employee` SET `Picture`=? WHERE `id`='" 
       + idd + "'"; 

     psmnt = connection.prepareStatement(insert); 
     fis = new FileInputStream(f); 
     psmnt.setBinaryStream(1, (InputStream) fis, 
       (int) (f.length())); 
     int s = psmnt.executeUpdate(); 
     if (s > 0) { 
      System.out.println("Uploaded successfully !"); 
     } else { 
      System.out.println("Error!"); 
     } 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
관련 문제