Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import java.io.OutputStream;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * Servlet implementation class ImageShowServlet
- */
- @WebServlet(name = "ImagesShow", urlPatterns = { "/ImagesShow" })
- public class ImageShowServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- /**
- * @see HttpServlet#HttpServlet()
- */
- public ImageShowServlet() {
- super();
- }
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- List<String> liste = new ArrayList<String>();
- Connection conn = Connexion.getInstance();
- try {
- Statement st = conn.createStatement();
- ResultSet rs = st.executeQuery("SELECT image FROM images");
- while (rs.next()) {
- byte[] imageData = rs.getBytes("image");
- liste.add(encode(imageData));
- }
- request.setAttribute("liste", liste);
- request.getRequestDispatcher("/index.jsp").forward(request, response);
- } catch (Exception e) {
- System.out.println("Exception: " + e);
- }
- }
- private static String encode(byte[] data) {
- char[] tbl = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/' };
- StringBuilder buffer = new StringBuilder();
- int pad = 0;
- for (int i = 0; i < data.length; i += 3) {
- int b = ((data[i] & 0xFF) << 16) & 0xFFFFFF;
- if (i + 1 < data.length) {
- b |= (data[i + 1] & 0xFF) << 8;
- } else {
- pad++;
- }
- if (i + 2 < data.length) {
- b |= (data[i + 2] & 0xFF);
- } else {
- pad++;
- }
- for (int j = 0; j < 4 - pad; j++) {
- int c = (b & 0xFC0000) >> 18;
- buffer.append(tbl[c]);
- b <<= 6;
- }
- }
- for (int j = 0; j < pad; j++) {
- buffer.append("=");
- }
- return buffer.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement