java在jsp将图片获取存到数据库(java将图片存入数据库)

发布时间:2023-12-08

java在jsp将图片获取存到数据库(java将图片存入数据库)

更新:2022-11-08 12:47

本文目录一览:

  1. jsp中 怎么把图片直接存入数据库中,最好有例子
  2. 在JSP中怎样将图片上传到数据库中
  3. 我怎么用jsp技术将图片存到数据库中去呀??
  4. 用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片
  5. java如何将图片保存在数据库中

jsp中 怎么把图片直接存入数据库中,最好有例子

首先,可以选择Apache里面的upload包,这个是把文件传到服务器上的上传组件。然后是存到数据库里,那就要看你用什么数据库了。比如Oracle,就是Blob类型;至Access,就是对象字段。存取方法都是不一样的,要分别对待。 有一个通用方法:你找到图片文件之后,建立输入流,然后创建ByteArrayOutputStream,然后从输入流中读字节到后面那个流中,并从中产生字节数组保存到byte字段中。 其实建议你不要将图片直接上传到数据库。图片上传到数据库要用到BLOB大对象(以Oracle为例),这样会影响程序性能。你可以将图片上传到指定文件夹,同时将图片保存的路径+文件名上传到数据库,要显示就读取这个路径找到图片,然后显示。刚做了个这个代码。

在JSP中怎样将图片上传到数据库中

到数据库? 你可以建一个文件夹来保存上传的图片,然后将图片的文件名保存到数据库中。要用的时候再根据图片的文件名到该文件夹下面去读取显示出来。

我怎么用jsp技术将图片存到数据库中去呀??

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@page import="java.io.*" %>
<%@page import="java.util.*" %>
<%@ page import = "database_connection.sun_wap_refresh_conn" %>
<jsp:useBean id="myconn1" class="database_connection.sun_wap_refresh_conn" scope="session"/>
<jsp:setProperty name="myconn1" property="*"/>
<%
//上一行的 jsp:useBean id="myconn11" id 不能有重复
myconn1.getConn();
CallableStatement cstmt = null;
Statement stmt = myconn1.conn.createStatement();
String url = "";
String flag = "";
String procedure = "";
String id = "";
url = request.getParameter("url");
flag = request.getParameter("flag");
id = request.getParameter("id");
ResultSet rs = null;
if (flag != null) {
    if (flag.compareTo("add") == 0) {
        BufferedInputStream data;
        BufferedInputStream is;
        int FormSize;
        byte[] bb;
        byte t;
        String image = "";
        data = new BufferedInputStream(request.getInputStream());
        FormSize = request.getContentLength();
        int i = 0, start1 = 0, start2 = 0, _start1 = 0, _start2 = 0;
        String temp = "";
        String _temp = "";
        String boundary = "";
        is = new BufferedInputStream(data);
        bb = new byte[FormSize];
        while (i < FormSize) {
            t = (byte) is.read();
            bb[i] = t;
            i++;
        }
        is.close();
        temp = new String(bb, "ISO8859_1");
        _temp = temp;
        _start1 = _temp.indexOf("boundary=");
        _temp = _temp.substring(_start1 + 9);
        _start2 = _temp.indexOf("\r\n");
        boundary = _temp.substring(0, _start2);
        _start1 = _temp.indexOf(boundary);
        _temp = _temp.substring(_start1 + boundary.length());
        _start1 = _temp.indexOf(boundary);
        image = _temp.substring(0, _start1);
        _temp = _temp.substring(_start1 + boundary.length());
        _start1 = image.indexOf("\r\n\r\n");
        _start2 = image.lastIndexOf("\r\n");
        image = image.substring(_start1 + 4, _start2);
        procedure = "{call sun_insert_ad_pic_image(?,?)}";
        cstmt = myconn1.conn.prepareCall(procedure);
        cstmt.setString(1, url);
        cstmt.setBytes(2, image.getBytes("ISO8859_1"));
        cstmt.executeUpdate();
    }
    if (flag.compareTo("del") == 0) {
        procedure = "{call sun_delete_ad_pic_image(?)}";
        cstmt = myconn1.conn.prepareCall(procedure);
        cstmt.setInt(1, Integer.parseInt(id));
        cstmt.executeUpdate();
    }
}
procedure = "{call sun_select_ad_pic_image(?)}";
cstmt = myconn1.conn.prepareCall(procedure);
cstmt.setString(1, url);
rs = cstmt.executeQuery();
%>
<script language="javascript">
function del(id) {
    location.replace("edit_keyword_pic.jsp?flag=delurl=<%=url%>&id=" + id);
}
</script>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#B6EF07">
    <tr>
        <td width="20%" bgcolor="#FFFFFF">ID</td>
        <td width="60%" bgcolor="#FFFFFF">图片</td>
        <td width="20%" bgcolor="#FFFFFF">操作</td>
    </tr>
    <% while (rs.next()) {
        String _id = rs.getString("id");
    %>
    <tr>
        <td width="20%" bgcolor="#FFFFFF"><%=_id%></td>
        <td width="60%" bgcolor="#FFFFFF"><img src="wc1.jsp?id=<%=_id%>"/></td>
        <td width="20%" bgcolor="#FFFFFF"><input type="button" onclick="del('<%=_id%>')" value="删除"/></td>
    </tr>
    <% } %>
</table>
<form name="form1" action="edit_keyword_pic.jsp?flag=addurl=<%=url%>" method="post" enctype="multipart/form-data">
    <input type="file" name="image"/><input type="submit" value="上传"/>
</form>

用jsp、java实现上传图片,保存到数据库,从数据库中提取,显示到页面 这四步 我想问第一步,怎么上传图片

jspSmartUpload 组件来实现,用 jsp + servlet 在 Servlet 里实现的代码:

PrintWriter out = response.getWriter();
int count = 0;
// 实例化上传控件对象
SmartUpload su = new SmartUpload();
// 初始化操作
su.initialize(config, request, response);
// 设置上传文件最大字节数
su.setTotalMaxFileSize(100000);
try {
    // 禁止上传指定扩展名的文件
    su.setDeniedFilesList("ext,bat,jsp");
} catch (SQLException e1) {
    e1.printStackTrace();
}
try {
    // 上传文件到服务器
    su.upload();
    File fileup = new File(request.getRealPath("upload"));
    if (!fileup.exists()) {
        // 创建目录
        fileup.mkdir();
    }
    // 处理多个文件的上传
    for (int i = 0; i < su.getFiles().getCount(); i++) {
        com.jspsmart.upload.File file = su.getFiles().getFile(i);
        if (!file.isMissing()) { // 如果文件有效
            // 保存文件到指定上传目录
            file.saveAs("/upload/new." + file.getFileExt(), su.SAVE_VIRTUAL);
            count = su.save("/upload");
        }
    }
} catch (SmartUploadException e) {
    e.printStackTrace();
}
out.println(count + " file(s) uploaded");

如果你对这个上传组件不了解,最好是先去查查用法。 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快! vaela

java如何将图片保存在数据库中

一般都是这样的,就是在你服务器有一个专门放置图片的文件夹,然后数据库保存的是你服务器图片的路径。需要用的时候就去数据库里面取路径。得到路径以后你想怎么处理图片是你的事情了。 至于如何去数据库取路径这个就是简单的db操作。 加载驱动类:

Class.forName(DBDriver);

获取连接:

Connection conn = DriverManager.getConnection(url, username, password);

创建操作对象:

PreparedStatement stmt = con.prepareStatement(sql);

执行操作:

ResultSet rs = stmt.executeQuery();

遍历结果:

List list = new ArrayList();
while (rs.next()) {
    // 具体操作,通常用rs.getString(name)取值
    Image img = new Image(); // 图片类对应你数据库中图片表格
    img.setSrc(rs.getString("src")); // 假设你数据库中image表中图片地址字段是src
    list.add(img);
}

记得关闭资源:

rs.close();
stmt.close();
con.close();

看你的意思是已经取出来了不知道怎么显示: 你取出来之后可以把图片放在一个list里面然后去页面上遍历这个list

<c:forEach var="chakan1" items="list">
    <tr>
        <td><img src="${chakan1.src}"/></td>
    </tr>
</c:forEach>

大致应该是这样。