2017-04-14 32 views
-2

Bitte helfen Sie mir Bild in einem bestimmten Abschnitt auf einer JSP-Seite anzeigen, die in mySQL-Datenbank gespeichert ist und auch sagen, dass wir Bild in jedem Datentyp speichern können?Bild auf JSP-Seite mit mySql anzeigen

+0

Sie würden das Bild normalerweise nicht in der Tabelle speichern, sondern den Pfad/Dateinamen des Bildes speichern. Das Speichern des tatsächlichen Bildes ist aus vielen Gründen problematisch. Es macht es schwerer, auf eine Seite zu rendern ist der größte Grund, es nicht zu tun. –

Antwort

0

Webseiten zeigen Bilder von URLs an.

Sie können entweder das Bild in einem data: URI codieren oder serverseitigen Code schreiben, um es als Antwort auf eine URL zu liefern.

0

hinzufügen, um dieses Servlet zu einem Projekt wie folgt aus:

package com.app.meservlets; 

import java.io.IOException; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.MultipartConfig; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.Part; 

import com.app.upload.UploadPicture; 

/** 
* 
* @author user-sqli date: 12/05/2016 17:42 
*/ 
@WebServlet(urlPatterns = "/upload", loadOnStartup = 1) 
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 2, // 2MB 
maxFileSize = 1024 * 1024 * 10, // 10MB 
maxRequestSize = 1024 * 1024 * 50) 
// 50MB 
public class ControllerUploadPicture extends HttpServlet { 

    private static final long serialVersionUID = 1L; 

    @Override 
    protected void doPost(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     String appPath = request.getServletContext().getRealPath(""); 

     Part part = request.getPart("file"); 
     UploadPicture.createNewInstance().TranseferPicture(part, appPath); 

     getServletContext().getRequestDispatcher("/show.jsp").forward(request, 
       response); 
    } 

} 

und fügen Sie diese classto Ihr Projekt:

package com.app.upload; 

import java.io.File; 
import java.io.IOException; 
import java.text.SimpleDateFormat; 
import java.util.Date; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

import javax.servlet.http.Part; 

/** 
* 
* @author user-sqli date: 12/05/2016 17:30 
*/ 
public class UploadPicture { 
    private static final String EXTENSION = "."; 
    public static final String SAVE_DIR = "uploadImage"; 
    private static UploadPicture uploadPicture = null; 
    private static final Logger LOGGER = Logger.getLogger(UploadPicture.class 
      .getName()); 

    private UploadPicture() { 
    } 

    public String TranseferPicture(Part part, String appPath) { 
     String savePath = appPath + File.separator + SAVE_DIR; 
     File fileSaveDir = new File(savePath); 
     if (!fileSaveDir.exists()) { 
      fileSaveDir.mkdir(); 
     } 

     String fileName = new SimpleDateFormat("yyyyMMdd_HHmmss") 
       .format(new Date()); 
     String nameImage = fileName + EXTENSION + getExtensionImage(part); 
     try { 
      part.write(savePath + File.separator + nameImage); 
      LOGGER.log(Level.FINE, "Upload Picture to {0} ", savePath 
        + File.separator + nameImage); 

     } catch (IOException ex) { 
      LOGGER.log(Level.SEVERE, ex.toString(), ex); 
     } 
     return nameImage; 
    } 

    private String getExtensionImage(Part part) { 

     return part.getContentType().split("/")[1]; 
    } 

    public static UploadPicture createNewInstance() { 
     if (uploadPicture == null) { 
      uploadPicture = new UploadPicture(); 
     } 
     return uploadPicture; 
    } 
} 

in Ihrem jsp wie folgt aus:

<!DOCTYPE html > 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Upload file</title> 
</head> 
<body> 
    <form method="post" action="upload" enctype="multipart/form-data"> 
     <input type="file" name="file" /><br /> <input type="submit" 
      value="Upload" /> 
    </form> 

</body> 
</html> 

und für shoing Dieses Bild:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!DOCTYPE html > 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 

uploaded image sucess. 
<%-- <img width="100px" height="100px" src="<c:url value="/uploadImage/${name}" />"> --%> 
</body> 
</html> 

Dieses Beispiel erfordert servlet> = 3.1