【问题标题】:How to store images in mysql and retrieve and display them through jsp [duplicate]如何将图像存储在mysql中并通过jsp进行检索和显示[重复]
【发布时间】:2014-03-11 09:06:17
【问题描述】:

我正在使用 jdbc、mysql、html、jsp。我想通过 jdbc 代码将图像存储到数据库中 并使用jsp检索并显示它们。请紧急帮助。我正在创建一个在线购物网站作为一个项目。

【问题讨论】:

标签: mysql jsp jdbc


【解决方案1】:

使用 JSP 在 MySQL 数据库中存储图像非常简单:

一步一步来:

第 1 步 - 在数据库中创建此表

create table upload_image
(
    iImageID int AUTO_INCREMENT primary key,
    bImage longblob
);

Step2-将此代码另存为uploadimage.jsp

<%@ page language="java"  errorPage="" %>
<html>
<head>
<title>Image insert into database</title>
</head>

<body>
<form name="frm" action="saveImage.jsp" enctype="multipart/form-data" method="post">
 <input type="file" name="uProperty" /> <br>
 <input type="submit" name="goUpload" value="Upload" />
</form>
</body>
</html>

Step3- 将此代码另存为 saveImage.jsp

<%@ page import="java.sql.*" %>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.io.output.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%
   Connection conn=null;
   Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/gimtech","root", "harit");

   PreparedStatement psImageInsertDatabase=null;

   byte[] b=null;
   try{
      String sqlImageInsertDatabase="insert into upload_image (bImage) values(?)";
      psImageInsertDatabase=conn.prepareStatement(sqlImageInsertDatabase);

      DiskFileItemFactory factory = new DiskFileItemFactory();

      ServletFileUpload sfu = new ServletFileUpload(factory);
      List items = sfu.parseRequest(request);

      Iterator iter = items.iterator();

      while (iter.hasNext()) {
         FileItem item = (FileItem) iter.next();
         if (!item.isFormField()) {
              b = item.get();
          }
      }

      psImageInsertDatabase.setBytes(1,b);
      psImageInsertDatabase.executeUpdate();
   }
   catch(Exception e)
   {
     e.printStackTrace();
     response.sendRedirect("addimage.jsp");
   }

%>

你必须添加jar文件:

  1. commons-fileupload-1.2.1.jar
  2. commons-io-1.4.jar
  3. mysql-connector-java-5.1.5-bin.jar

【讨论】:

  • 你喜欢这个脚本吗? :)
  • @Tiny,我觉得你没看我的帖子,看清楚了...
  • 我只是在谈论 JSP 中的 scriptlet,十多年来一直不鼓励使用它,应该是 avoided
  • enctype="multipart/form-data"是什么意思?
  • 您好,我在 beans 组件上创建连接,但是在将所有 zip 文件导入到 lib 后,编译器显示:package org.apache.commons.fileupload.*; does not exists
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 1970-01-01
  • 2014-06-18
  • 2019-02-11
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多