2014-07-24 4 views
0

저는 JSP로 배우기를 원합니다. DB에서 이미지를 저장하는 방법 및 DB에서 검색하는 방법JSP 페이지를 사용하여 데이터베이스에 이미지를 업로드하는 방법 및 데이터베이스에서 이미지를 검색하고 페이지에서 다른 이미지를 표시하는 방법

+1

[1] 저장 - 다음을 시도하십시오. http://commons.apache.org/proper/commons-fileupload/using.html [2] retrieve - http://stackoverflow.com/questions/15829367/how-to- mysql-database-on-a-jsp-page- – Leo

+0

링크를 방문해보십시오. http://codejava.net/coding/upload-files-to-database-servlet-jsp-mysql – newuser

답변

0

이미지를 데이터베이스에 저장할 수는 있지만 바람직하지는 않습니다.

안녕하세요 프로그래머는 처음에는 사용하는 크기 (너비와 높이)가 작은 프로필 사진을 위해 무엇을 생각해야합니까? 그것은 큰 앨범 사진을위한거야? 데이터베이스에 작은 이미지를 저장하고 싶다면 괜찮습니다.하지만 큰 이미지는 URL로 액세스하는 디스크에 저장해야합니다.

내가해야 할 일은 변환 된 Base64 이미지를 String, vouVarChar와 같은 데이터베이스에 저장하고 데이터베이스에 따라 다르지만 업로드 할 때 base64로 변환해야합니다. 쇼에 다시 이미지로 변환, 그것은 현재 컴퓨터에 문제가되지 않습니다.

이 기능을 사용하면 업로드 서비스에서 얻을 수있는 대부분의 BufferedImage를 String으로 변환 할 수 있습니다. 이후 DB에 저장할 수 있습니다.

public static String encodeToString(BufferedImage image, String type) { 
    String imageString = null; 
    ByteArrayOutputStream bos = new ByteArrayOutputStream(); 

    try { 
     ImageIO.write(image, type, bos); 
     byte[] imageBytes = bos.toByteArray(); 

     BASE64Encoder encoder = new BASE64Encoder(); 
     imageString = encoder.encode(imageBytes); 

     bos.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return imageString; 
} 

및이 방법으로 우리는 다시의 BufferedImage에 문자열, 그리고 쇼를 변환 할 수 있습니다 또는 JPS 파일에 제공합니다.
public static BufferedImage decodeToImage(String imageString) { 

    BufferedImage image = null; 
    byte[] imageByte; 
    try { 
     BASE64Decoder decoder = new BASE64Decoder(); 
     imageByte = decoder.decodeBuffer(imageString); 
     ByteArrayInputStream bis = new ByteArrayInputStream(imageByte); 
     image = ImageIO.read(bis); 
     bis.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return image; 
} 

는 obviusly 내 대답은 데이터베이스에 저장하는 모든 측면을 envolves하지 않는 방법이나 표준 새 번역은 자바와 함께 작동하지만, 그것은 단지 내 조언이다.

읽어 주셔서 감사합니다.

0

일반적으로 melkysalem이 말했듯이 우리는 이미지의 URL을 DB에 저장합니다. 우리가 이미지를 사용하고 싶을 때, 우리는 단지 URL을 얻는다. 만.

+0

이것은 한 줄로 된 것은 좋은 코멘트 일 수는 있지만 대답으로는 사용되지 않습니다. –

관련 문제